Marshal.StringToCoTaskMemUni(String) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
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.