Marshal.PtrToStringAuto Metoda

Definice

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é

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é

Platí pro