Marshal.StringToCoTaskMemUni(String) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Kopiert den Inhalt eines verwalteten String Speichers in einen Speicherblock, der dem nicht verwalteten COM-Aufgabenverteiler zugeordnet ist.
public:
static IntPtr StringToCoTaskMemUni(System::String ^ s);
[System.Security.SecurityCritical]
public static IntPtr StringToCoTaskMemUni(string s);
public static IntPtr StringToCoTaskMemUni(string? s);
public static IntPtr StringToCoTaskMemUni(string s);
[<System.Security.SecurityCritical>]
static member StringToCoTaskMemUni : string -> nativeint
static member StringToCoTaskMemUni : string -> nativeint
Public Shared Function StringToCoTaskMemUni (s As String) As IntPtr
Parameter
- s
- String
Eine verwaltete Zeichenfolge, die kopiert werden soll.
Gibt zurück
nativeint
Eine ganze Zahl, die einen Zeiger auf den Speicherblock darstellt, der der Zeichenfolge zugeordnet ist, oder 0, wenn s ist null.
- Attribute
Ausnahmen
Der s Parameter überschreitet die maximal zulässige Länge des Betriebssystems.
Es ist nicht genügend Arbeitsspeicher verfügbar.
Hinweise
StringToCoTaskMemUni ist nützlich für das benutzerdefinierte Marshalling oder für die Verwendung beim Mischen von verwaltetem und nicht verwaltetem Code. Da diese Methode den nicht verwalteten Speicher zuweist, der für eine Zeichenfolge erforderlich ist, geben Sie immer den Speicher frei, indem Sie den Aufruf aufrufen Marshal.FreeCoTaskMem. Diese Methode bietet die entgegengesetzte Funktionalität von Marshal.PtrToStringUni. Die Zeichen der Zeichenfolge werden als Unicode-Zeichen kopiert.
Diese API spiegelt die Windows Definition von Unicode wider, bei der es sich um eine UTF-16-2-Byte-Codierung handelt. Auf vielen Plattformen ohne Windows beträgt der Datentyp wchar_t 4 Byte, nicht 2 Byte. Wenden Sie sich an Den Compiler, um zu bestätigen, ob wchar_t sie verwendet werden kann oder char16_t stattdessen verwendet werden soll.