Share via


Marshal.StringToCoTaskMemUni(String) Metode

Definisi

Menyalin konten yang dikelola String ke blok memori yang dialokasikan dari alokator tugas COM yang tidak dikelola.

public:
 static IntPtr StringToCoTaskMemUni(System::String ^ s);
[System.Security.SecurityCritical]
public static IntPtr StringToCoTaskMemUni (string s);
public static IntPtr StringToCoTaskMemUni (string? s);
public static IntPtr StringToCoTaskMemUni (string s);
[<System.Security.SecurityCritical>]
static member StringToCoTaskMemUni : string -> nativeint
static member StringToCoTaskMemUni : string -> nativeint
Public Shared Function StringToCoTaskMemUni (s As String) As IntPtr

Parameter

s
String

String terkelola yang akan disalin.

Mengembalikan

IntPtr

nativeint

Bilangan bulat yang mewakili penunjuk ke blok memori yang dialokasikan untuk string, atau 0 jika s adalah null.

Atribut

Pengecualian

Parameter s melebihi panjang maksimum yang diizinkan oleh sistem operasi.

Tidak tersedia cukup memori.

Keterangan

StringToCoTaskMemUni 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 Marshal.FreeCoTaskMem. Metode ini menyediakan fungsionalitas yang berlawanan dari Marshal.PtrToStringUni. Karakter string disalin sebagai karakter Unicode.

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.

Berlaku untuk

Lihat juga