Udostępnij za pośrednictwem


Marshal.StringToCoTaskMemUTF8(String) Metoda

Definicja

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

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

Parametry

s
String

Zarządzany ciąg do skopiowania.

Zwraca

IntPtr

nativeint

Liczba całkowita reprezentująca wskaźnik do bloku pamięci przydzielonej dla ciągu lub 0, jeśli s ma wartość null.

Atrybuty

Wyjątki

Parametr s przekracza maksymalną długość dozwoloną przez system operacyjny.

Za mało dostępnej pamięci.

Uwagi

StringToCoTaskMemUTF8 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, w tym terminator o wartości null, zawsze zwalnia pamięć przez wywołanie metody Marshal.FreeCoTaskMem. Ta metoda zapewnia przeciwną funkcjonalność programu Marshal.PtrToStringUTF8. Znaki ciągu są kopiowane jako znaki UTF-8.

Dotyczy

Zobacz też