Marshal.StringToCoTaskMemUni(String) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee kopieert u de inhoud van een beheerd String naar een blok geheugen dat is toegewezen vanuit de onbeheerde COM-taaktoewijzing.
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
Parameters
- s
- String
Een beheerde tekenreeks die moet worden gekopieerd.
Retouren
nativeint
Een geheel getal dat een aanwijzer vertegenwoordigt naar het blok geheugen dat is toegewezen voor de tekenreeks, of 0 als s.null
- Kenmerken
Uitzonderingen
De s parameter overschrijdt de maximale lengte die door het besturingssysteem is toegestaan.
Er is onvoldoende geheugen beschikbaar.
Opmerkingen
StringToCoTaskMemUni is handig voor aangepaste marshaling of voor gebruik bij het combineren van beheerde en onbeheerde code. Omdat met deze methode het niet-beheerde geheugen wordt toegewezen dat is vereist voor een tekenreeks, kunt u altijd het geheugen vrijmaken door aan te roepen Marshal.FreeCoTaskMem. Deze methode biedt de tegenovergestelde functionaliteit van Marshal.PtrToStringUni. De tekens van de tekenreeks worden gekopieerd als Unicode-tekens.
Deze API weerspiegelt de Windows definitie van Unicode, een UTF-16 2-bytecodering. Op veel niet-Windows platforms is het gegevenstype wchar_t 4 bytes, niet 2 bytes. Raadpleeg uw compiler om te controleren of wchar_t deze kan worden gebruikt of char16_t moet worden gebruikt.