Marshal.StringToCoTaskMemUTF8(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 in einen Speicherblock, der von der nicht verwalteten Speicherbelegung für COM-Aufgaben reserviert wurde.
public:
static IntPtr StringToCoTaskMemUTF8(System::String ^ s);
public static IntPtr StringToCoTaskMemUTF8 (string? s);
[System.Security.SecurityCritical]
public static IntPtr StringToCoTaskMemUTF8 (string s);
public static IntPtr StringToCoTaskMemUTF8 (string s);
static member StringToCoTaskMemUTF8 : string -> nativeint
[<System.Security.SecurityCritical>]
static member StringToCoTaskMemUTF8 : string -> nativeint
Public Shared Function StringToCoTaskMemUTF8 (s As String) As IntPtr
Parameter
- s
- String
Eine zu kopierende verwaltete Zeichenfolge.
Gibt zurück
nativeint
Eine ganze Zahl, die einen Zeiger auf den für die Zeichenfolge belegten Speicherblock darstellt, oder 0, wenn s
gleich null
ist.
- Attribute
Ausnahmen
Der s
-Parameter übersteigt die vom Betriebssystem zugelassene maximale Länge.
Es ist nicht genügend Arbeitsspeicher verfügbar.
Hinweise
StringToCoTaskMemUTF8 ist nützlich für benutzerdefiniertes Marshalling oder für die Verwendung beim Mischen von verwaltetem und nicht verwaltetem Code. Da diese Methode den nicht verwalteten Arbeitsspeicher zuordnet, der für eine Zeichenfolge einschließlich eines NULL-Abschlusszeichens erforderlich ist, geben Sie den Arbeitsspeicher immer durch Aufrufen Marshal.FreeCoTaskMemvon frei. Diese Methode stellt die entgegengesetzte Funktionalität von bereit Marshal.PtrToStringUTF8. Die Zeichen der Zeichenfolge werden als UTF-8-Zeichen kopiert.