Marshal.StringToCoTaskMemUTF8(String) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
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.