Marshal.PtrToStringAuto-Methode: (IntPtr)
Veröffentlicht: Oktober 2016
Reserviert einen verwalteten String und kopiert alle Zeichen bis zum ersten NULL-Zeichen aus einer Zeichenfolge hinein, die im nicht verwalteten Speicher gespeichert ist.
Namespace: System.Runtime.InteropServices
Assembly: mscorlib (in mscorlib.dll)
Syntax
[SecurityCriticalAttribute]
public static string PtrToStringAuto(
IntPtr ptr
)
public:
[SecurityCriticalAttribute]
static String^ PtrToStringAuto(
IntPtr ptr
)
[<SecurityCriticalAttribute>]
static member PtrToStringAuto :
ptr:nativeint -> string
<SecurityCriticalAttribute>
Public Shared Function PtrToStringAuto (
ptr As IntPtr
) As String
Parameter
ptr
Type: System.IntPtrFür Unicode-Plattformen die Adresse des ersten Unicode-Zeichens.
- oder -
Für ANSI-Plattformen die Adresse des ersten ANSI-Zeichens.
Rückgabewert
Type: System.String
Eine verwaltete Zeichenfolge, die eine Kopie der nicht verwalteten Zeichenfolge enthält, wenn der Wert des ptr-Parameters nicht null ist. Andernfalls gibt diese Methode null zurück.
Hinweise
Wenn die aktuelle Plattform Unicode ist, wird jedes ANSI-Zeichen zu einem Unicode-Zeichen erweitert, und diese Methode ruft PtrToStringUni. Andernfalls ruft diese Methode PtrToStringAnsi.
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 der Marshal.StringToCoTaskMemAuto und Marshal.StringToHGlobalAuto Methoden.
Sicherheit
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