Marshal.PtrToStringAuto Methode

Definitie

Hiermee wijst u een beheerde String en kopieert u alle of een deel van een niet-beheerde tekenreeks erin.

Overloads

Name Description
PtrToStringAuto(IntPtr)

Hiermee wijst u een beheerd String bestand toe en kopieert u alle tekens tot het eerste null-teken uit een tekenreeks die is opgeslagen in onbeheerd geheugen.

PtrToStringAuto(IntPtr, Int32)

Hiermee wijst u een beheerd String bestand toe en kopieert u het opgegeven aantal tekens uit een tekenreeks die is opgeslagen in onbeheerd geheugen.

PtrToStringAuto(IntPtr)

Bron:
Marshal.Unix.cs
Bron:
Marshal.Unix.cs
Bron:
Marshal.Unix.cs
Bron:
Marshal.Unix.cs
Bron:
Marshal.Unix.cs

Hiermee wijst u een beheerd String bestand toe en kopieert u alle tekens tot het eerste null-teken uit een tekenreeks die is opgeslagen in onbeheerd geheugen.

public:
 static System::String ^ PtrToStringAuto(IntPtr ptr);
public static string? PtrToStringAuto(IntPtr ptr);
public static string PtrToStringAuto(IntPtr ptr);
[System.Security.SecurityCritical]
public static string PtrToStringAuto(IntPtr ptr);
static member PtrToStringAuto : nativeint -> string
[<System.Security.SecurityCritical>]
static member PtrToStringAuto : nativeint -> string
Public Shared Function PtrToStringAuto (ptr As IntPtr) As String

Parameters

ptr
IntPtr

nativeint

Voor Unicode-platforms is het adres van het eerste Unicode-teken.

– of –

Voor ANSI-platforms is het adres van het eerste ANSI-teken.

Retouren

Een beheerde tekenreeks die een kopie van de niet-beheerde tekenreeks bevat als de waarde van de ptr parameter niet nullis; anders retourneert nulldeze methode.

Kenmerken

Opmerkingen

Als het huidige platform Unicode is, wordt elk ANSI-teken uitgebreid tot een Unicode-teken en wordt deze methode aangeroepen PtrToStringUni. Anders roept deze methode aan PtrToStringAnsi.

PtrToStringAuto is handig voor aangepaste marshaling of bij het combineren van beheerde en onbeheerde code. Omdat met deze methode een kopie van de inhoud van de niet-beheerde tekenreeks wordt gemaakt, moet u de oorspronkelijke tekenreeks naar wens vrij maken. PtrToStringAuto biedt de tegenovergestelde functionaliteit van de Marshal.StringToCoTaskMemAuto en Marshal.StringToHGlobalAuto methoden.

Zie ook

Van toepassing op

PtrToStringAuto(IntPtr, Int32)

Bron:
Marshal.Unix.cs
Bron:
Marshal.Unix.cs
Bron:
Marshal.Unix.cs
Bron:
Marshal.Unix.cs
Bron:
Marshal.Unix.cs

Hiermee wijst u een beheerd String bestand toe en kopieert u het opgegeven aantal tekens uit een tekenreeks die is opgeslagen in onbeheerd geheugen.

public:
 static System::String ^ PtrToStringAuto(IntPtr ptr, int len);
public static string? PtrToStringAuto(IntPtr ptr, int len);
public static string PtrToStringAuto(IntPtr ptr, int len);
[System.Security.SecurityCritical]
public static string PtrToStringAuto(IntPtr ptr, int len);
static member PtrToStringAuto : nativeint * int -> string
[<System.Security.SecurityCritical>]
static member PtrToStringAuto : nativeint * int -> string
Public Shared Function PtrToStringAuto (ptr As IntPtr, len As Integer) As String

Parameters

ptr
IntPtr

nativeint

Voor Unicode-platforms is het adres van het eerste Unicode-teken.

– of –

Voor ANSI-platforms is het adres van het eerste ANSI-teken.

len
Int32

Het aantal tekens dat moet worden gekopieerd.

Retouren

Een beheerde tekenreeks die een kopie van de systeemeigen tekenreeks bevat als de waarde van de ptr parameter niet nullis; anders retourneert nulldeze methode.

Kenmerken

Uitzonderingen

len is kleiner dan nul.

Opmerkingen

Op Unicode-platforms roept deze methode aan PtrToStringUni; op ANSI-platforms, het roept PtrToStringAnsihet aan. Er worden geen transformaties uitgevoerd voordat deze methoden worden aangeroepen.

PtrToStringAuto is handig voor aangepaste marshaling of bij het combineren van beheerde en onbeheerde code. Omdat met deze methode een kopie van de inhoud van de niet-beheerde tekenreeks wordt gemaakt, moet u de oorspronkelijke tekenreeks naar wens vrij maken. PtrToStringAuto biedt de tegenovergestelde functionaliteit van Marshal.StringToCoTaskMemAuto en Marshal.StringToHGlobalAuto.

Zie ook

Van toepassing op