Bagikan melalui


Marshal.PtrToStringAuto Metode

Definisi

Mengalokasikan terkelola String dan menyalin semua atau sebagian string yang tidak dikelola ke dalamnya.

Overload

PtrToStringAuto(IntPtr)

Mengalokasikan karakter String terkelola dan menyalin semua karakter hingga karakter null pertama dari string yang disimpan dalam memori yang tidak dikelola ke dalamnya.

PtrToStringAuto(IntPtr, Int32)

Mengalokasikan terkelola String dan menyalin jumlah karakter yang ditentukan dari string yang disimpan dalam memori yang tidak dikelola ke dalamnya.

PtrToStringAuto(IntPtr)

Sumber:
Marshal.Unix.cs
Sumber:
Marshal.Unix.cs
Sumber:
Marshal.Unix.cs

Mengalokasikan karakter String terkelola dan menyalin semua karakter hingga karakter null pertama dari string yang disimpan dalam memori yang tidak dikelola ke dalamnya.

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

Parameter

ptr
IntPtr

nativeint

Untuk platform Unicode, alamat karakter Unicode pertama.

-atau-

Untuk platform ANSI, alamat karakter ANSI pertama.

Mengembalikan

String terkelola yang menyimpan salinan string yang tidak dikelola jika nilai ptr parameter tidak ; jika tidak null, metode ini mengembalikan null.

Atribut

Keterangan

Jika platform saat ini adalah Unicode, setiap karakter ANSI dilebarkan ke karakter Unicode dan metode ini memanggil PtrToStringUni. Jika tidak, metode ini memanggil PtrToStringAnsi.

PtrToStringAuto berguna untuk marshaling kustom atau saat mencampur kode yang dikelola dan tidak dikelola. Karena metode ini membuat salinan konten string yang tidak dikelola, Anda harus membebaskan string asli yang sesuai. PtrToStringAuto menyediakan fungsionalitas yang berlawanan dari Marshal.StringToCoTaskMemAuto metode dan Marshal.StringToHGlobalAuto .

Lihat juga

Berlaku untuk

PtrToStringAuto(IntPtr, Int32)

Sumber:
Marshal.Unix.cs
Sumber:
Marshal.Unix.cs
Sumber:
Marshal.Unix.cs

Mengalokasikan terkelola String dan menyalin jumlah karakter yang ditentukan dari string yang disimpan dalam memori yang tidak dikelola ke dalamnya.

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

Parameter

ptr
IntPtr

nativeint

Untuk platform Unicode, alamat karakter Unicode pertama.

-atau-

Untuk platform ANSI, alamat karakter ANSI pertama.

len
Int32

Jumlah karakter yang akan disalin.

Mengembalikan

String terkelola yang menyimpan salinan string asli jika nilai ptr parameter tidak ; jika tidak null, metode ini mengembalikan null.

Atribut

Pengecualian

len kurang dari nol.

Keterangan

Pada platform Unicode, metode ini memanggil PtrToStringUni; pada platform ANSI, ia memanggil PtrToStringAnsi. Tidak ada transformasi yang dilakukan sebelum metode ini dipanggil.

PtrToStringAuto berguna untuk marshaling kustom atau saat mencampur kode yang dikelola dan tidak dikelola. Karena metode ini membuat salinan konten string yang tidak dikelola, Anda harus membebaskan string asli yang sesuai. PtrToStringAutomenyediakan fungsionalitas dan Marshal.StringToHGlobalAutoyang berlawananMarshal.StringToCoTaskMemAuto.

Lihat juga

Berlaku untuk