Share via


Marshal.PtrToStringAuto Metoda

Definice

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í nulltato 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é

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í nulltato 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é

Platí pro