Marshal.StringToCoTaskMemAuto(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 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
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.