Marshal.StringToHGlobalUni(String) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Zkopíruje obsah spravovaného String objektu 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
nativeint
Adresa v nespravované paměti, do které s
se zkopírovala, 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 než Marshal.PtrToStringUni.
Tato metoda zkopíruje vložené znaky null a obsahuje ukončující znak null.
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