Sdílet prostřednictvím


Marshal.StringToCoTaskMemUni(String) Metoda

Definice

Zkopíruje obsah spravovaného String objektu do bloku paměti přiděleného z alokátoru nespravovaných úkolů modelu COM.

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

Parametry

s
String

Spravovaný řetězec, který se má zkopírovat.

Návraty

IntPtr

nativeint

Celé číslo představující ukazatel na blok paměti přidělený pro řetězec nebo 0, pokud je nulls .

Atributy

Výjimky

Parametr s překračuje maximální délku povolenou operačním systémem.

Není k dispozici dostatek paměti.

Poznámky

StringToCoTaskMemUni je užitečný pro vlastní zařazování nebo pro použití při kombinování spravovaného a nespravovaného kódu. Vzhledem k tomu, že tato metoda přiděluje nespravovanou paměť potřebnou pro řetězec, vždy uvolněte paměť voláním Marshal.FreeCoTaskMem. Tato metoda poskytuje opačnou funkci než Marshal.PtrToStringUni. Znaky řetězce se zkopírují jako znaky Unicode.

Toto rozhraní API odráží definici Sady Unicode ve Windows, což je kódování UTF-16 2 bajtů. Na mnoha platformách bez wchar_t Windows je datový typ 4 bajty, ne 2 bajty. Obraťte se na kompilátor a ověřte, jestli wchar_t je možné použít místo toho.char16_t

Platí pro

Viz také