Marshal.StringToHGlobalUni(String) Metoda

Definice

Zkopíruje obsah spravované String do nespravované paměti.

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

Parametry

s
String

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

Návraty

IntPtr

nativeint

Adresa v nespravované paměti, do místa, kde s byla zkopírována, nebo 0, pokud s je null.

Atributy

Výjimky

Metoda nemohla přidělit dostatek nativní paměti haldy.

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

Poznámky

StringToHGlobalUni 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 FreeHGlobal. Tato metoda poskytuje opačnou funkci Marshal.PtrToStringUni.

Tato metoda zkopíruje vložené znaky null a obsahuje ukončující znak null.

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

Platí pro

Viz také