Marshal.StringToHGlobalUni(String) Metódus

Definíció

Egy felügyelt String tartalom másolása nem felügyelt memóriába.

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

Paraméterek

s
String

Másolandó felügyelt sztring.

Válaszok

IntPtr

nativeint

A cím nem felügyelt memóriában a másolt helyre s , vagy 0, ha s van null.

Attribútumok

Kivételek

A metódus nem tudott elegendő natív halommemóriát lefoglalni.

A s paraméter túllépi az operációs rendszer által megengedett maximális hosszt.

Megjegyzések

StringToHGlobalUni a felügyelt és a nem felügyelt kód keverésekor hasznos az egyéni marshalinghoz vagy a használathoz. Mivel ez a metódus lefoglalja a sztringhez szükséges nem felügyelt memóriát, a rendszer mindig felszabadítja a memóriát a hívással FreeHGlobal. Ez a metódus a Marshal.PtrToStringUni.

Ez a metódus beágyazott null karaktereket másol, és egy végződő null karaktert tartalmaz.

Ez az API a Unicode Windows definícióját tükrözi, amely egy UTF-16 2 bájtos kódolás. Számos nem Windows platformon a wchar_t adattípus 4 bájt, nem pedig 2 bájt. Forduljon a fordítóhoz, és ellenőrizze, hogy használható-e wchar_t , vagy char16_t inkább használható.

A következőre érvényes:

Lásd még