Marshal.PtrToStringAuto 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
配置 Managed String,並將 Unmanaged 字串的全部或部分複製到其中。
多載
PtrToStringAuto(IntPtr) |
配置 Managed String,並從儲存在 Unmanaged 記憶體的字串中將直到第一個 Null 字元的所有字元複製到其中。 |
PtrToStringAuto(IntPtr, Int32) |
配置 Managed String,並且從儲存在 Unmanaged 記憶體中的字串將指定數目的字元複製到其中。 |
PtrToStringAuto(IntPtr)
配置 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
參數的值不是 null
,則為包含 Unmanaged 字串複本的 Managed 字串,否則這個方法會傳回 null
。
- 屬性
備註
如果目前的平臺是 Unicode,則每個 ANSI 字元都會擴大為 Unicode 字元,而這個方法會呼叫 PtrToStringUni。 否則,這個方法會呼叫 PtrToStringAnsi。
PtrToStringAuto 適用於自定義封送處理,或在混合 Managed 和 Unmanaged 程式代碼時使用。 由於這個方法會建立 Unmanaged 字串內容的複本,因此您必須視需要釋放原始字串串。 PtrToStringAuto提供和 Marshal.StringToHGlobalAuto 方法的Marshal.StringToCoTaskMemAuto相反功能。
另請參閱
- StringToCoTaskMemAuto(String)
- StringToHGlobalAuto(String)
- PtrToStringUni(IntPtr, Int32)
- PtrToStringAnsi(IntPtr)
適用於
PtrToStringAuto(IntPtr, Int32)
配置 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
參數
- len
- Int32
要複製的字元數目。
傳回
如果 ptr
參數的值不是 null
,則為包含原生字串複本的 Managed 字串,否則這個方法會傳回 null
。
- 屬性
例外狀況
len
小於零。
備註
在 Unicode 平臺上,這個方法會呼叫 PtrToStringUni;在 ANSI 平臺上,它會呼叫 PtrToStringAnsi。 呼叫這些方法之前,不會執行任何轉換。
PtrToStringAuto 適用於自定義封送處理,或在混合 Managed 和 Unmanaged 程式代碼時使用。 由於這個方法會建立 Unmanaged 字串內容的複本,因此您必須視需要釋放原始字串串。 PtrToStringAuto提供和Marshal.StringToHGlobalAuto的相反功能Marshal.StringToCoTaskMemAuto。
另請參閱
- StringToCoTaskMemAuto(String)
- StringToHGlobalAuto(String)
- PtrToStringUni(IntPtr, Int32)
- PtrToStringAnsi(IntPtr)