Marshal.StringToCoTaskMemUTF8(String) Methode

Definitie

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

IntPtr

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.

Van toepassing op

Zie ook