Marshal.PtrToStringUni Methode

Definition

Reserviert einen verwalteten String und kopiert eine nicht verwaltete Unicode-Zeichenfolge ganz oder teilweise hinein.

Überlädt

PtrToStringUni(IntPtr)

Reserviert einen verwalteten String und kopiert alle Zeichen bis zum ersten NULL-Zeichen aus einer nicht verwalteten Unicode-Zeichenfolge hinein.

PtrToStringUni(IntPtr, Int32)

Reserviert einen verwalteten String und kopiert eine angegebene Anzahl von Zeichen aus einer nicht verwalteten Unicode-Zeichenfolge hinein.

PtrToStringUni(IntPtr)

Reserviert einen verwalteten String und kopiert alle Zeichen bis zum ersten NULL-Zeichen aus einer nicht verwalteten Unicode-Zeichenfolge hinein.

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

Parameter

ptr
IntPtr

nativeint

Die Adresse des ersten Zeichens der nicht verwalteten Zeichenfolge.

Gibt zurück

String

Eine verwaltete Zeichenfolge, die eine Kopie der nicht verwalteten Zeichenfolge enthält, wenn der Wert des ptr-Parameters nicht null ist. Andernfalls gibt diese Methode null zurück.

Attribute

Hinweise

PtrToStringUni ist nützlich für benutzerdefiniertes Marshaling oder für die Verwendung beim Mischen verwalteter und nicht verwalteter Code. Da diese Methode eine Kopie des Inhalts der nicht verwalteten Zeichenfolge erstellt, müssen Sie die ursprüngliche Zeichenfolge entsprechend freigeben. Diese Methode stellt die gegenteilige Funktionalität der Marshal.StringToCoTaskMemUni und Marshal.StringToHGlobalUni Methoden bereit.

Diese API spiegelt die Windows-Definition von Unicode wider, die eine UTF-16 2-Byte-Codierung ist. Auf vielen Nicht-Windows-Plattformen beträgt der wchar_t Datentyp 4 Byte, nicht 2 Bytes. Wenden Sie sich an Ihren Compiler, um zu bestätigen, ob wchar_t stattdessen verwendet char16_t oder verwendet werden soll.

Siehe auch

Gilt für

PtrToStringUni(IntPtr, Int32)

Reserviert einen verwalteten String und kopiert eine angegebene Anzahl von Zeichen aus einer nicht verwalteten Unicode-Zeichenfolge hinein.

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

Parameter

ptr
IntPtr

nativeint

Die Adresse des ersten Zeichens der nicht verwalteten Zeichenfolge.

len
Int32

Die Anzahl der zu kopierenden Unicode-Zeichen.

Gibt zurück

String

Eine verwaltete Zeichenfolge, die eine Kopie der nicht verwalteten Zeichenfolge enthält, wenn der Wert des ptr-Parameters nicht null ist. Andernfalls gibt diese Methode null zurück.

Attribute

Hinweise

PtrToStringUni ist nützlich für benutzerdefiniertes Marshaling oder beim Mischen verwalteter und nicht verwalteter Code. Da diese Methode eine Kopie des Inhalts der nicht verwalteten Zeichenfolge erstellt, müssen Sie die ursprüngliche Zeichenfolge entsprechend freigeben. Diese Methode stellt die gegenteilige Funktionalität der Marshal.StringToCoTaskMemUni und Marshal.StringToHGlobalUni Methoden bereit.

Diese API spiegelt die Windows-Definition von Unicode wider, die eine UTF-16 2-Byte-Codierung ist. Auf vielen Nicht-Windows-Plattformen beträgt der wchar_t Datentyp 4 Byte, nicht 2 Bytes. Wenden Sie sich an Ihren Compiler, um zu bestätigen, ob wchar_t stattdessen verwendet char16_t oder verwendet werden soll.

Siehe auch

Gilt für