Aracılığıyla paylaş


Marshal.StringToCoTaskMemUni(String) Yöntem

Tanım

Yönetilen String bir öğenin 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 s 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 için 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 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 char16_t kullanılması gerektiğini onaylamak wchar_t için derleyicinize başvurun.

Şunlara uygulanır

Ayrıca bkz.