Sdílet prostřednictvím


Marshal.PtrToStringUni Metoda

Definice

Přidělí spravovaný String a zkopíruje do něj celý nebo část nespravovaného řetězce unicode.

Přetížení

PtrToStringUni(IntPtr)

Přidělí spravované String a zkopíruje do něj všechny znaky až do prvního znaku null z nespravovaného řetězce unicode.

PtrToStringUni(IntPtr, Int32)

Přidělí spravovaný String a zkopíruje do něj zadaný počet znaků z nespravovaného řetězce unicode.

PtrToStringUni(IntPtr)

Zdroj:
Marshal.cs
Zdroj:
Marshal.cs
Zdroj:
Marshal.cs

Přidělí spravované String a zkopíruje do něj všechny znaky až do prvního znaku null z nespravovaného řetězce unicode.

public:
 static System::String ^ PtrToStringUni(IntPtr ptr);
[System.Security.SecurityCritical]
public static string PtrToStringUni (IntPtr ptr);
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

Parametry

ptr
IntPtr

nativeint

Adresa prvního znaku nespravovaného řetězce.

Návraty

Spravovaný řetězec, který obsahuje kopii nespravovaného řetězce, pokud hodnota parametru ptr není null; v opačném případě tato metoda vrátí null.

Atributy

Poznámky

PtrToStringUni je vhodný pro vlastní zařazování nebo pro použití při kombinování spravovaného a nespravovaného kódu. Vzhledem k tomu, že tato metoda vytvoří kopii obsahu nespravovaného řetězce, musíte podle potřeby uvolnit původní řetězec. Tato metoda poskytuje opačné funkce Marshal.StringToCoTaskMemUni než metody a Marshal.StringToHGlobalUni .

Toto rozhraní API odráží definici Unicode ve Windows, což je kódování UTF-16 2 bajtů. Na mnoha platformách bez wchar_t Windows je datový typ 4 bajty, nikoli 2 bajty. Obraťte se na kompilátor a ověřte, jestli wchar_t je možné použít nebo char16_t by se místo toho mělo použít.

Viz také

Platí pro

PtrToStringUni(IntPtr, Int32)

Zdroj:
Marshal.cs
Zdroj:
Marshal.cs
Zdroj:
Marshal.cs

Přidělí spravovaný String a zkopíruje do něj zadaný počet znaků z nespravovaného řetězce unicode.

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

Parametry

ptr
IntPtr

nativeint

Adresa prvního znaku nespravovaného řetězce.

len
Int32

Počet znaků Unicode ke zkopírování.

Návraty

Spravovaný řetězec, který obsahuje kopii nespravovaného řetězce, pokud hodnota parametru ptr není null; v opačném případě tato metoda vrátí null.

Atributy

Poznámky

PtrToStringUni je užitečná pro vlastní zařazování nebo při kombinování spravovaného a nespravovaného kódu. Vzhledem k tomu, že tato metoda vytvoří kopii obsahu nespravovaného řetězce, musíte podle potřeby uvolnit původní řetězec. Tato metoda poskytuje opačné funkce Marshal.StringToCoTaskMemUni než metody a Marshal.StringToHGlobalUni .

Toto rozhraní API odráží definici Unicode ve Windows, což je kódování UTF-16 2 bajtů. Na mnoha platformách bez wchar_t Windows je datový typ 4 bajty, nikoli 2 bajty. Obraťte se na kompilátor a ověřte, jestli wchar_t je možné použít nebo char16_t by se místo toho mělo použít.

Viz také

Platí pro