Marshal.StringToHGlobalUni(String) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menyalin isi dari yang dikelola String ke dalam memori yang tidak terkelola.
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
nativeint
Alamat, dalam memori yang tidak dikelola, ke tempat s
disalin, atau 0 jika s
adalah null
.
- Atribut
Pengecualian
Metode ini tidak dapat mengalokasikan cukup memori heap asli.
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 tidak terkelola 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, wchar_t
jenis data adalah 4 byte, bukan 2 byte. Konsultasikan dengan kompilator Anda untuk mengonfirmasi apakah wchar_t
dapat digunakan atau char16_t
harus digunakan sebagai gantinya.