Marshal.PtrToStringAuto Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ordnet eine verwaltete String und kopiert alle oder einen Teil einer nicht verwalteten Zeichenfolge in diese Zeichenfolge.
Überlädt
| Name | Beschreibung |
|---|---|
| PtrToStringAuto(IntPtr) |
Weist ein verwaltetes String Zeichen zu und kopiert alle Zeichen bis zum ersten NULL-Zeichen aus einer Zeichenfolge, die im nicht verwalteten Speicher gespeichert ist. |
| PtrToStringAuto(IntPtr, Int32) |
Weist eine verwaltete String Zeichenfolge zu und kopiert die angegebene Anzahl von Zeichen aus einer Zeichenfolge, die im nicht verwalteten Speicher gespeichert ist. |
PtrToStringAuto(IntPtr)
Weist ein verwaltetes String Zeichen zu und kopiert alle Zeichen bis zum ersten NULL-Zeichen aus einer Zeichenfolge, die im nicht verwalteten Speicher gespeichert ist.
public:
static System::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
Parameter
- ptr
-
IntPtr
nativeint
Für Unicode-Plattformen die Adresse des ersten Unicode-Zeichens.
-oder-
Für ANSI-Plattformen die Adresse des ersten ANSI-Zeichens.
Gibt zurück
Eine verwaltete Zeichenfolge, die eine Kopie der nicht verwalteten Zeichenfolge enthält, wenn der Wert des ptr Parameters nicht nullist; andernfalls gibt diese Methode zurück null.
- Attribute
Hinweise
Wenn die aktuelle Plattform Unicode ist, wird jedes ANSI-Zeichen auf ein Unicode-Zeichen erweitert und diese Methode aufruft PtrToStringUni. Andernfalls wird diese Methode aufgerufen PtrToStringAnsi.
PtrToStringAuto ist nützlich für das benutzerdefinierte Marshalling oder beim Mischen von verwaltetem und nicht verwaltetem Code. Da diese Methode eine Kopie des Inhalts der nicht verwalteten Zeichenfolge erstellt, müssen Sie die ursprüngliche Zeichenfolge entsprechend freigeben. PtrToStringAuto stellt die entgegengesetzte Funktionalität der Marshal.StringToCoTaskMemAuto Und Marshal.StringToHGlobalAuto Methoden bereit.
Weitere Informationen
- StringToCoTaskMemAuto(String)
- StringToHGlobalAuto(String)
- PtrToStringUni(IntPtr, Int32)
- PtrToStringAnsi(IntPtr)
Gilt für:
PtrToStringAuto(IntPtr, Int32)
Weist eine verwaltete String Zeichenfolge zu und kopiert die angegebene Anzahl von Zeichen aus einer Zeichenfolge, die im nicht verwalteten Speicher gespeichert ist.
public:
static System::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
Parameter
- ptr
-
IntPtr
nativeint
Für Unicode-Plattformen die Adresse des ersten Unicode-Zeichens.
-oder-
Für ANSI-Plattformen die Adresse des ersten ANSI-Zeichens.
- len
- Int32
Die Anzahl der zu kopierenden Zeichen.
Gibt zurück
Eine verwaltete Zeichenfolge, die eine Kopie der nativen Zeichenfolge enthält, wenn der Wert des ptr Parameters nicht nullist; andernfalls gibt diese Methode zurück null.
- Attribute
Ausnahmen
len ist kleiner als 0 (null).
Hinweise
Auf Unicode-Plattformen ruft diese Methode ; PtrToStringUniauf ANSI-Plattformen auf PtrToStringAnsi. Bevor diese Methoden aufgerufen werden, werden keine Transformationen durchgeführt.
PtrToStringAuto ist nützlich für das benutzerdefinierte Marshalling oder beim Mischen von verwaltetem und nicht verwaltetem Code. Da diese Methode eine Kopie des Inhalts der nicht verwalteten Zeichenfolge erstellt, müssen Sie die ursprüngliche Zeichenfolge entsprechend freigeben. PtrToStringAuto bietet die entgegengesetzte Funktionalität von Marshal.StringToCoTaskMemAuto und Marshal.StringToHGlobalAuto.
Weitere Informationen
- StringToCoTaskMemAuto(String)
- StringToHGlobalAuto(String)
- PtrToStringUni(IntPtr, Int32)
- PtrToStringAnsi(IntPtr)