Freigeben über


Marshal.StringToCoTaskMemAuto(String) Methode

Definition

Kopiert den Inhalt eines verwalteten String in einen Speicherblock, der von der nicht verwalteten Speicherbelegung für COM-Aufgaben reserviert wurde.

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 zu kopierende verwaltete Zeichenfolge.

Gibt zurück

IntPtr

nativeint

Der reservierte Speicherblock oder 0, wenn s gleich null ist.

Attribute

Ausnahmen

Es ist nicht genügend Arbeitsspeicher verfügbar.

Die Länge für s liegt außerhalb des gültigen Bereichs.

Hinweise

StringToCoTaskMemAuto 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 zuweist, der für eine Zeichenfolge erforderlich ist, geben Sie immer den Arbeitsspeicher frei, indem Sie 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