Marshal.StringToCoTaskMemAuto(String) Metoda

Definicja

Kopiuje zawartość zarządzanego String bloku pamięci przydzielonej z niezarządzanego alokatora zadań COM.

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

Parametry

s
String

Zarządzany ciąg do skopiowania.

Zwraca

IntPtr

nativeint

Przydzielony blok pamięci lub 0, jeśli s ma wartość null.

Atrybuty

Wyjątki

Za mało dostępnej pamięci.

Długość dla s jest poza zakresem.

Uwagi

StringToCoTaskMemAuto jest przydatne w przypadku marshalingu niestandardowego lub do użycia podczas mieszania kodu zarządzanego i niezarządzanych. Ponieważ ta metoda przydziela niezarządzaną pamięć wymaganą dla ciągu, zawsze zwalnia pamięć przez wywołanie metody FreeCoTaskMem. Ta metoda zapewnia przeciwną funkcjonalność programu Marshal.PtrToStringAuto.

Znaki ciągu są kopiowane jako znaki Unicode.

Dotyczy

Zobacz też