Marshal.PtrToStringAuto Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Přidělí spravovaný String a zkopíruje do něj celý nebo část nespravovaného řetězce.
Přetížení
PtrToStringAuto(IntPtr) |
Přidělí spravované String a zkopíruje do něj všechny znaky až po první znak null z řetězce uloženého v nespravované paměti. |
PtrToStringAuto(IntPtr, Int32) |
Přidělí spravovaný String a zkopíruje do něj zadaný počet znaků z řetězce uloženého v nespravované paměti. |
PtrToStringAuto(IntPtr)
- Zdroj:
- Marshal.Unix.cs
- Zdroj:
- Marshal.Unix.cs
- Zdroj:
- Marshal.Unix.cs
Přidělí spravované String a zkopíruje do něj všechny znaky až po první znak null z řetězce uloženého v nespravované paměti.
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
Parametry
- ptr
-
IntPtr
nativeint
Pro platformy Unicode adresa prvního znaku Unicode.
-nebo-
U platforem ANSI adresa prvního znaku ANSI.
Návraty
Spravovaný řetězec, který obsahuje kopii nespravovaného řetězce, pokud hodnota parametru ptr
není null
; v opačném případě tato metoda vrátí null
.
- Atributy
Poznámky
Pokud je aktuální platforma Unicode, každý znak ANSI je rozšířen na znak Unicode a tato metoda volá PtrToStringUni. V opačném případě tato metoda volá PtrToStringAnsi.
PtrToStringAuto je užitečná pro vlastní zařazování nebo při kombinování spravovaného a nespravovaného kódu. Vzhledem k tomu, že tato metoda vytvoří kopii obsahu nespravovaného řetězce, musíte podle potřeby uvolnit původní řetězec. PtrToStringAuto poskytuje opačné funkce Marshal.StringToCoTaskMemAuto než metody a Marshal.StringToHGlobalAuto .
Viz také
- StringToCoTaskMemAuto(String)
- StringToHGlobalAuto(String)
- PtrToStringUni(IntPtr, Int32)
- PtrToStringAnsi(IntPtr)
Platí pro
PtrToStringAuto(IntPtr, Int32)
- Zdroj:
- Marshal.Unix.cs
- Zdroj:
- Marshal.Unix.cs
- Zdroj:
- Marshal.Unix.cs
Přidělí spravovaný String a zkopíruje do něj zadaný počet znaků z řetězce uloženého v nespravované paměti.
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
Parametry
- ptr
-
IntPtr
nativeint
Pro platformy Unicode adresa prvního znaku Unicode.
-nebo-
U platforem ANSI adresa prvního znaku ANSI.
- len
- Int32
Počet znaků, které se mají zkopírovat.
Návraty
Spravovaný řetězec, který obsahuje kopii nativního řetězce, pokud hodnota parametru ptr
není null
; v opačném případě tato metoda vrátí null
.
- Atributy
Výjimky
Hodnota len
je menší než nula.
Poznámky
Na platformách Unicode tato metoda volá PtrToStringUni. Na platformách ANSI volá PtrToStringAnsi. Před zavolání těchto metod nejsou provedeny žádné transformace.
PtrToStringAuto je užitečná pro vlastní zařazování nebo při kombinování spravovaného a nespravovaného kódu. Vzhledem k tomu, že tato metoda vytvoří kopii obsahu nespravovaného řetězce, musíte podle potřeby uvolnit původní řetězec. PtrToStringAuto poskytuje opačnou funkci než Marshal.StringToCoTaskMemAuto a Marshal.StringToHGlobalAuto.
Viz také
- StringToCoTaskMemAuto(String)
- StringToHGlobalAuto(String)
- PtrToStringUni(IntPtr, Int32)
- PtrToStringAnsi(IntPtr)