Freigeben über


Marshal.StringToCoTaskMemAnsi(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 StringToCoTaskMemAnsi(System::String ^ s);
[System.Security.SecurityCritical]
public static IntPtr StringToCoTaskMemAnsi (string s);
public static IntPtr StringToCoTaskMemAnsi (string? s);
public static IntPtr StringToCoTaskMemAnsi (string s);
[<System.Security.SecurityCritical>]
static member StringToCoTaskMemAnsi : string -> nativeint
static member StringToCoTaskMemAnsi : string -> nativeint
Public Shared Function StringToCoTaskMemAnsi (s As String) As IntPtr

Parameter

s
String

Eine zu kopierende verwaltete Zeichenfolge.

Gibt zurück

IntPtr

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

Es ist nicht genügend Arbeitsspeicher verfügbar.

Der s-Parameter übersteigt die vom Betriebssystem zugelassene maximale Länge.

Hinweise

StringToCoTaskMemAnsi ist nützlich für benutzerdefiniertes Marshalling oder beim Mischen von verwaltetem und nicht verwaltetem Code. Da diese Methode den nicht verwalteten Arbeitsspeicher zuordnet, der für eine Zeichenfolge erforderlich ist, geben Sie den Arbeitsspeicher immer durch Aufrufen FreeCoTaskMemvon frei. Diese Methode stellt die entgegengesetzte Funktionalität von bereit Marshal.PtrToStringAnsi. Die Zeichen der Zeichenfolge werden als ANSI-Zeichen kopiert.

Gilt für:

Weitere Informationen