Marshal.PtrToStringAuto 方法

定義

配置 Managed String,並將 Unmanaged 字串的全部或部分複製到其中。

多載

PtrToStringAuto(IntPtr)

配置 Managed String,並從儲存在 Unmanaged 記憶體的字串中將直到第一個 Null 字元的所有字元複製到其中。

PtrToStringAuto(IntPtr, Int32)

配置 Managed String,並且從儲存在 Unmanaged 記憶體中的字串將指定數目的字元複製到其中。

PtrToStringAuto(IntPtr)

來源:
Marshal.Unix.cs
來源:
Marshal.Unix.cs
來源:
Marshal.Unix.cs

配置 Managed String,並從儲存在 Unmanaged 記憶體的字串中將直到第一個 Null 字元的所有字元複製到其中。

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

參數

ptr
IntPtr

nativeint

對於 Unicode 平台,為第一個 Unicode 字元的位址。

-或-

針對 ANSI 平台,為第一個 ANSI 字元的位址。

傳回

如果 ptr 參數的值不是 null,則為包含 Unmanaged 字串複本的 Managed 字串,否則這個方法會傳回 null

屬性

備註

如果目前的平臺是 Unicode,則每個 ANSI 字元都會擴大為 Unicode 字元,而這個方法會呼叫 PtrToStringUni。 否則,這個方法會呼叫 PtrToStringAnsi

PtrToStringAuto 適用於自定義封送處理,或在混合 Managed 和 Unmanaged 程式代碼時使用。 因為這個方法會建立 Unmanaged 字串內容的複本,所以您必須適當地釋放原始字串。 PtrToStringAuto提供和 Marshal.StringToHGlobalAuto 方法的Marshal.StringToCoTaskMemAuto相反功能。

另請參閱

適用於

PtrToStringAuto(IntPtr, Int32)

來源:
Marshal.Unix.cs
來源:
Marshal.Unix.cs
來源:
Marshal.Unix.cs

配置 Managed String,並且從儲存在 Unmanaged 記憶體中的字串將指定數目的字元複製到其中。

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

參數

ptr
IntPtr

nativeint

對於 Unicode 平台,為第一個 Unicode 字元的位址。

-或-

針對 ANSI 平台,為第一個 ANSI 字元的位址。

len
Int32

要複製的字元數目。

傳回

如果 ptr 參數的值不是 null,則為包含原生字串複本的 Managed 字串,否則這個方法會傳回 null

屬性

例外狀況

len 小於零。

備註

在 Unicode 平臺上,這個方法會呼叫 PtrToStringUni;在 ANSI 平臺上,它會呼叫 PtrToStringAnsi。 呼叫這些方法之前,不會執行任何轉換。

PtrToStringAuto 適用於自定義封送處理,或在混合 Managed 和 Unmanaged 程式代碼時使用。 因為這個方法會建立 Unmanaged 字串內容的複本,所以您必須適當地釋放原始字串。 PtrToStringAuto提供和Marshal.StringToHGlobalAutoMarshal.StringToCoTaskMemAuto相反功能。

另請參閱

適用於