Marshal.StringToCoTaskMemAuto(String) Methode

Definition

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

public:
 static IntPtr StringToCoTaskMemAuto(System::String ^ s);
public static IntPtr StringToCoTaskMemAuto(string? s);
public static IntPtr StringToCoTaskMemAuto(string s);
[System.Security.SecurityCritical]
public static IntPtr StringToCoTaskMemAuto(string s);
static member StringToCoTaskMemAuto : string -> nativeint
[<System.Security.SecurityCritical>]
static member StringToCoTaskMemAuto : string -> nativeint
Public Shared Function StringToCoTaskMemAuto (s As String) As IntPtr

Parameter

s
String

Eine verwaltete Zeichenfolge, die kopiert werden soll.

Gibt zurück

IntPtr

nativeint

Der zugewiesene Speicherblock oder 0 , falls s vorhanden.null

Attribute

Ausnahmen

Es ist nicht genügend Arbeitsspeicher verfügbar.

Die Länge liegt s außerhalb des zulässigen Bereichs.

Hinweise

StringToCoTaskMemAuto 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 FreeCoTaskMem. Diese Methode bietet die entgegengesetzte Funktionalität von Marshal.PtrToStringAuto.

Die Zeichen der Zeichenfolge werden als Unicode-Zeichen kopiert.

Gilt für:

Weitere Informationen