Marshal.StringToHGlobalUni(String) Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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
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ó.