Marshal.PtrToStringUni Metod

Definition

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

Överlagringar

Name Description
PtrToStringUni(IntPtr)

Allokerar en hanterad String och kopierar alla tecken upp till det första null-tecknet från en ohanterad Unicode-sträng till den.

PtrToStringUni(IntPtr, Int32)

Allokerar en hanterad String och kopierar ett angivet antal tecken från en ohanterad Unicode-sträng till den.

PtrToStringUni(IntPtr)

Allokerar en hanterad String och kopierar alla tecken upp till det första null-tecknet från en ohanterad Unicode-sträng till den.

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

Parametrar

ptr
IntPtr

nativeint

Adressen till det första tecknet i den ohanterade strängen.

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

PtrToStringUni är användbart för anpassad marskalkering eller för användning 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. Den här metoden ger motsatta funktioner för Marshal.StringToCoTaskMemUni metoderna och Marshal.StringToHGlobalUni .

Det här API:et återspeglar den Windows definitionen av Unicode, som är en UTF-16 2-byteskodning. På många icke-Windows plattformar är datatypen wchar_t 4 byte, inte 2 byte. Kontakta kompilatorn för att bekräfta om wchar_t kan användas eller char16_t ska användas i stället.

Se även

Gäller för

PtrToStringUni(IntPtr, Int32)

Allokerar en hanterad String och kopierar ett angivet antal tecken från en ohanterad Unicode-sträng till den.

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

Parametrar

ptr
IntPtr

nativeint

Adressen till det första tecknet i den ohanterade strängen.

len
Int32

Antalet Unicode-tecken som ska kopieras.

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

PtrToStringUni ä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. Den här metoden ger motsatta funktioner för Marshal.StringToCoTaskMemUni metoderna och Marshal.StringToHGlobalUni .

Det här API:et återspeglar den Windows definitionen av Unicode, som är en UTF-16 2-byteskodning. På många icke-Windows plattformar är datatypen wchar_t 4 byte, inte 2 byte. Kontakta kompilatorn för att bekräfta om wchar_t kan användas eller char16_t ska användas i stället.

Se även

Gäller för