Marshal.StringToCoTaskMemUTF8(String) Methode

Definition

Kopiert den Inhalt eines verwalteten String Speichers in einen Speicherblock, der dem nicht verwalteten COM-Aufgabenverteiler zugeordnet ist.

public:
 static IntPtr StringToCoTaskMemUTF8(System::String ^ s);
public static IntPtr StringToCoTaskMemUTF8(string s);
static member StringToCoTaskMemUTF8 : string -> nativeint
Public Shared Function StringToCoTaskMemUTF8 (s As String) As IntPtr

Parameter

s
String

Eine verwaltete Zeichenfolge, die kopiert werden soll.

Gibt zurück

IntPtr

nativeint

Eine ganze Zahl, die einen Zeiger auf den Speicherblock darstellt, der für die Zeichenfolge zugewiesen ist, oder 0 , wenn s dies der Wert ist null.

Ausnahmen

Der s Parameter überschreitet die maximal zulässige Länge des Betriebssystems.

Es ist nicht genügend Arbeitsspeicher verfügbar.

Hinweise

StringToCoTaskMemUTF8 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 einschließlich eines Null-Terminators erforderlich ist, geben Sie den Speicher immer durch Aufrufen frei Marshal.FreeCoTaskMem. Diese Methode bietet die entgegengesetzte Funktionalität von Marshal.PtrToStringUTF8. Die Zeichen der Zeichenfolge werden als UTF-8-Zeichen kopiert.

Gilt für:

Weitere Informationen