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 řetězec a zkopíruje do něj celý nebo část nespravovaného řetězce.
Přetížení
| Name | Description |
|---|---|
| PtrToStringAuto(IntPtr) |
Přidělí spravovaný String znak a zkopíruje do něj všechny znaky až do prvního znaku null z řetězce uloženého v nespravované paměti. |
| PtrToStringAuto(IntPtr, Int32) |
Přidělí spravovaný String a zkopíruje 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
- Zdroj:
- Marshal.Unix.cs
- Zdroj:
- Marshal.Unix.cs
Přidělí spravovaný String znak a zkopíruje do něj všechny znaky až do prvního znaku 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
U platforem Unicode je adresa prvního znaku Unicode.
nebo
U platforem ANSI je adresa prvního znaku ANSI.
Návraty
Spravovaný řetězec, který obsahuje kopii nespravovaného řetězce, pokud hodnota ptr parametru není null; jinak 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. Jinak 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 a Marshal.StringToHGlobalAuto metody.
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
- Zdroj:
- Marshal.Unix.cs
- Zdroj:
- Marshal.Unix.cs
Přidělí spravovaný String a zkopíruje 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
U platforem Unicode je adresa prvního znaku Unicode.
nebo
U platforem ANSI je 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 ptr parametru není null; jinak 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čné funkce Marshal.StringToCoTaskMemAuto a Marshal.StringToHGlobalAuto.
Viz také
- StringToCoTaskMemAuto(String)
- StringToHGlobalAuto(String)
- PtrToStringUni(IntPtr, Int32)
- PtrToStringAnsi(IntPtr)