Marshal.StringToCoTaskMemUTF8(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 StringToCoTaskMemUTF8(System::String ^ s);
public static IntPtr StringToCoTaskMemUTF8(string? s);
[System.Security.SecurityCritical]
public static IntPtr StringToCoTaskMemUTF8(string s);
public static IntPtr StringToCoTaskMemUTF8(string s);
static member StringToCoTaskMemUTF8 : string -> nativeint
[<System.Security.SecurityCritical>]
static member StringToCoTaskMemUTF8 : string -> nativeint
Public Shared Function StringToCoTaskMemUTF8 (s As String) As IntPtr
Parameters
- s
- String
Een beheerde tekenreeks die moet worden gekopieerd.
Retouren
nativeint
Een geheel getal dat een aanwijzer aangeeft aan het blok geheugen dat is toegewezen voor de tekenreeks, of 0 als s dat het is null.
- Kenmerken
Uitzonderingen
De s parameter overschrijdt de maximale lengte die door het besturingssysteem is toegestaan.
Er is onvoldoende geheugen beschikbaar.
Opmerkingen
StringToCoTaskMemUTF8 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, inclusief een null-eindteken, kunt u altijd het geheugen vrijmaken door aan te roepen Marshal.FreeCoTaskMem. Deze methode biedt de tegenovergestelde functionaliteit van Marshal.PtrToStringUTF8. De tekens van de tekenreeks worden gekopieerd als UTF-8 tekens.