Bahasa

Marshal.StringToHGlobalUni(String) Metode

Definisi

Menyalin konten yang dikelola String ke dalam memori yang tidak dikelola.

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

Parameter

s
String

String terkelola yang akan disalin.

Mengembalikan

IntPtr

nativeint

Alamat, dalam memori yang tidak dikelola, ke tempat s disalin, atau 0 jika s adalah null.

Atribut

Pengecualian

Metode ini tidak dapat mengalokasikan memori tumpuan asli yang cukup.

Parameter s melebihi panjang maksimum yang diizinkan oleh sistem operasi.

Keterangan

StringToHGlobalUni berguna untuk marshaling kustom atau untuk digunakan saat mencampur kode terkelola dan tidak terkelola. Karena metode ini mengalokasikan memori yang tidak dikelola yang diperlukan untuk string, selalu bebaskan memori dengan memanggil FreeHGlobal. Metode ini menyediakan fungsionalitas yang berlawanan dari Marshal.PtrToStringUni.

Metode ini menyalin karakter null yang disematkan, dan menyertakan karakter null yang mengakhiri.

API ini mencerminkan definisi Windows Unicode, yang merupakan pengodean UTF-16 2-byte. Pada banyak platform non-Windows, jenis data wchar_t adalah 4 byte, bukan 2 byte. Konsultasikan dengan pengkompilasi Anda untuk mengonfirmasi apakah wchar_t dapat digunakan atau char16_t harus digunakan sebagai gantinya.

Berlaku untuk

Lihat juga