Marshal.PtrToStringAuto-Methode: (IntPtr, Int32)

 

Veröffentlicht: Oktober 2016

Reserviert einen verwalteten String und kopiert die angegebene Anzahl von Zeichen aus einer in nicht verwaltetem Speicher gespeicherten Zeichenfolge hinein.

Namespace:   System.Runtime.InteropServices
Assembly:  mscorlib (in mscorlib.dll)

Syntax

[SecurityCriticalAttribute]
public static string PtrToStringAuto(
    IntPtr ptr,
    int len
)
public:
[SecurityCriticalAttribute]
static String^ PtrToStringAuto(
    IntPtr ptr,
    int len
)
[<SecurityCriticalAttribute>]
static member PtrToStringAuto : 
        ptr:nativeint *
        len:int -> string
<SecurityCriticalAttribute>
Public Shared Function PtrToStringAuto (
    ptr As IntPtr,
    len As Integer
) As String

Parameter

  • ptr
    Type: System.IntPtr

    Für Unicode-Plattformen die Adresse des ersten Unicode-Zeichens.

    - oder -

    Für ANSI-Plattformen die Adresse des ersten ANSI-Zeichens.

  • len
    Type: System.Int32

    Die Anzahl der zu kopierenden Zeichen.

Rückgabewert

Type: System.String

Eine verwaltete Zeichenfolge, die eine Kopie der systemeigenen Zeichenfolge enthält, wenn der Wert des ptr-Parameters nicht null ist. Andernfalls gibt diese Methode null zurück.

Ausnahmen

Exception Condition
ArgumentException

len ist kleiner als Null.

Hinweise

Auf Unicode-Plattformen ruft diese Methode PtrToStringUni; auf ANSI-Plattformen ruft PtrToStringAnsi. Bevor Sie diese Methoden aufgerufen werden, werden keine Transformationen ausgeführt.

PtrToStringAuto ist hilfreich beim benutzerdefinierten Marshalling und beim Kombinieren von verwaltetem und nicht verwaltetem Code. Da diese Methode eine Kopie des Inhalts der nicht verwalteten Zeichenfolge erstellt wird, müssen Sie die ursprüngliche Zeichenfolge ggf. freigeben.PtrToStringAuto Stellt die Umkehrfunktion von Marshal.StringToCoTaskMemAuto und Marshal.StringToHGlobalAuto.

Sicherheit

SecurityCriticalAttribute

requires full trust for the immediate caller. This member cannot be used by partially trusted or transparent code.

Versionsinformationen

.NET Framework
Verfügbar seit 1.1

Siehe auch

StringToCoTaskMemAuto
StringToHGlobalAuto
PtrToStringUni
PtrToStringAnsi
PtrToStringAuto Überladen
Marshal-Klasse
System.Runtime.InteropServices-Namespace

Zurück zum Anfang