Marshal.StringToCoTaskMemUni(String) Yöntem

Tanım

Yönetilen String içeriğini yönetilmeyen COM görev ayırıcısından ayrılan bir bellek bloğuna kopyalar.

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

Parametreler

s
String

Kopyalanacak yönetilen dize.

Döndürülenler

IntPtr

nativeint

Dize için ayrılan bellek bloğunun işaretçisini temsil eden bir tamsayı veya ise 0.null

Öznitelikler

Özel durumlar

parametresi, s işletim sisteminin izin verdiği uzunluk üst sınırını aşıyor.

Kullanılabilir bellek yetersiz.

Açıklamalar

StringToCoTaskMemUni özel hazırlama veya yönetilen ve yönetilmeyen kodu karıştırırken kullanmak için kullanışlıdır. Bu yöntem bir dize için gereken yönetilmeyen belleği ayırdığından, çağırarak Marshal.FreeCoTaskMembelleği her zaman boşaltın. Bu yöntem, işlevinin tam tersini Marshal.PtrToStringUnisağlar. Dizenin karakterleri Unicode karakterleri olarak kopyalanır.

Bu API, UTF-16 2 bayt kodlaması olan Unicode'un Windows tanımını yansıtır. Windows olmayan birçok platformda wchar_t veri türü 2 bayt değil 4 bayttır. Bunun yerine kullanılıp kullanılamayabileceğini veya wchar_t kullanılması gerektiğini onaylamak char16_t için derleyicinize başvurun.

Şunlara uygulanır

Ayrıca bkz.