Marshal.PtrToStringAuto Metod

Definition

Allokerar en hanterad String och kopierar hela eller delar av en ohanterad sträng till den.

Överlagringar

Name Description
PtrToStringAuto(IntPtr)

Allokerar en hanterad String och kopierar alla tecken upp till det första null-tecknet från en sträng som lagras i ohanterat minne i den.

PtrToStringAuto(IntPtr, Int32)

Allokerar en hanterad String och kopierar det angivna antalet tecken från en sträng som lagras i ohanterat minne i den.

PtrToStringAuto(IntPtr)

Källa:
Marshal.Unix.cs
Källa:
Marshal.Unix.cs
Källa:
Marshal.Unix.cs
Källa:
Marshal.Unix.cs
Källa:
Marshal.Unix.cs

Allokerar en hanterad String och kopierar alla tecken upp till det första null-tecknet från en sträng som lagras i ohanterat minne i den.

public:
 static System::String ^ PtrToStringAuto(IntPtr ptr);
public static string? PtrToStringAuto(IntPtr ptr);
public static string PtrToStringAuto(IntPtr ptr);
[System.Security.SecurityCritical]
public static string PtrToStringAuto(IntPtr ptr);
static member PtrToStringAuto : nativeint -> string
[<System.Security.SecurityCritical>]
static member PtrToStringAuto : nativeint -> string
Public Shared Function PtrToStringAuto (ptr As IntPtr) As String

Parametrar

ptr
IntPtr

nativeint

För Unicode-plattformar är adressen till det första Unicode-tecknet.

-eller-

För ANSI-plattformar är adressen till det första ANSI-tecknet.

Returer

En hanterad sträng som innehåller en kopia av den ohanterade strängen om värdet för parametern ptr inte nullär . Annars returnerar nullden här metoden .

Attribut

Kommentarer

Om den aktuella plattformen är Unicode utvidgas varje ANSI-tecken till ett Unicode-tecken och den här metoden anropar PtrToStringUni. Annars anropar PtrToStringAnsiden här metoden .

PtrToStringAuto är användbart för anpassad marskalkering eller vid blandning av hanterad och ohanterad kod. Eftersom den här metoden skapar en kopia av den ohanterade strängens innehåll måste du frigöra den ursprungliga strängen efter behov. PtrToStringAuto ger motsatta funktioner i Marshal.StringToCoTaskMemAuto metoderna och Marshal.StringToHGlobalAuto .

Se även

Gäller för

PtrToStringAuto(IntPtr, Int32)

Källa:
Marshal.Unix.cs
Källa:
Marshal.Unix.cs
Källa:
Marshal.Unix.cs
Källa:
Marshal.Unix.cs
Källa:
Marshal.Unix.cs

Allokerar en hanterad String och kopierar det angivna antalet tecken från en sträng som lagras i ohanterat minne i den.

public:
 static System::String ^ PtrToStringAuto(IntPtr ptr, int len);
public static string? PtrToStringAuto(IntPtr ptr, int len);
public static string PtrToStringAuto(IntPtr ptr, int len);
[System.Security.SecurityCritical]
public static string PtrToStringAuto(IntPtr ptr, int len);
static member PtrToStringAuto : nativeint * int -> string
[<System.Security.SecurityCritical>]
static member PtrToStringAuto : nativeint * int -> string
Public Shared Function PtrToStringAuto (ptr As IntPtr, len As Integer) As String

Parametrar

ptr
IntPtr

nativeint

För Unicode-plattformar är adressen till det första Unicode-tecknet.

-eller-

För ANSI-plattformar är adressen till det första ANSI-tecknet.

len
Int32

Antalet tecken som ska kopieras.

Returer

En hanterad sträng som innehåller en kopia av den interna strängen om värdet för parametern ptr inte nullär . Annars returnerar nullden här metoden .

Attribut

Undantag

len är mindre än noll.

Kommentarer

På Unicode-plattformar anropar PtrToStringUniden här metoden ; på ANSI-plattformar anropas PtrToStringAnsi. Inga transformeringar görs innan dessa metoder anropas.

PtrToStringAuto är användbart för anpassad marskalkering eller vid blandning av hanterad och ohanterad kod. Eftersom den här metoden skapar en kopia av den ohanterade strängens innehåll måste du frigöra den ursprungliga strängen efter behov. PtrToStringAuto innehåller motsatta funktioner för Marshal.StringToCoTaskMemAuto och Marshal.StringToHGlobalAuto.

Se även

Gäller för