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ý nespravovaný řetězec nebo jeho část.
Přetížení
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 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 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
Pro platformy Unicode adresa prvního znaku Unicode.
-nebo-
V případě platforem ANSI se jedná o adresu 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ě vrátí null
tato metoda .
- 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čnou funkci 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-
V případě platforem ANSI se jedná o adresu 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ě vrátí null
tato metoda .
- 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 se neprokonají žá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 Marshal.StringToCoTaskMemAuto a Marshal.StringToHGlobalAuto.
Viz také
- StringToCoTaskMemAuto(String)
- StringToHGlobalAuto(String)
- PtrToStringUni(IntPtr, Int32)
- PtrToStringAnsi(IntPtr)
Platí pro
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro