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)

Quelle:
Marshal.cs
Quelle:
Marshal.cs
Quelle:
Marshal.cs

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

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 Marshalling oder für die Verwendung beim Mischen von verwaltetem und nicht verwaltetem 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 entgegengesetzte Funktionalität der Marshal.StringToCoTaskMemUni Methoden und Marshal.StringToHGlobalUni bereit.

Diese API spiegelt die Windows-Definition von Unicode wider, bei der es sich um eine UTF-16-Codierung mit 2 Byte handelt. Auf vielen Nicht-Windows-Plattformen ist der wchar_t Datentyp 4 Bytes, nicht 2 Bytes. Wenden Sie sich an Ihren Compiler, um zu überprüfen, ob wchar_t stattdessen verwendet werden kann oder char16_t verwendet werden soll.

Weitere Informationen

Gilt für:

PtrToStringUni(IntPtr, Int32)

Quelle:
Marshal.cs
Quelle:
Marshal.cs
Quelle:
Marshal.cs

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

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 Marshalling oder beim Mischen von verwaltetem und nicht verwaltetem 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 entgegengesetzte Funktionalität der Marshal.StringToCoTaskMemUni Methoden und Marshal.StringToHGlobalUni bereit.

Diese API spiegelt die Windows-Definition von Unicode wider, bei der es sich um eine UTF-16-Codierung mit 2 Byte handelt. Auf vielen Nicht-Windows-Plattformen ist der wchar_t Datentyp 4 Bytes, nicht 2 Bytes. Wenden Sie sich an Ihren Compiler, um zu überprüfen, ob wchar_t stattdessen verwendet werden kann oder char16_t verwendet werden soll.

Weitere Informationen

Gilt für: