Udostępnij za pośrednictwem


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 to null.

Atrybuty

Wyjątki

Za mało dostępnej pamięci.

Długość dla s jest poza zakresem.

Uwagi

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

Znaki ciągu są kopiowane jako znaki Unicode.

Dotyczy

Zobacz też