Marshal.PtrToStringAuto 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
分配一個管理 String 的,並將未管理的字串全部或部分複製到該串中。
多載
| 名稱 | Description |
|---|---|
| PtrToStringAuto(IntPtr) |
分配一個受管理 String 的字元,並將儲存在非管理記憶體中的字串中,直到第一個空字元的所有字元複製到該字元。 |
| PtrToStringAuto(IntPtr, Int32) |
分配一個受管理 String 記憶體,並將儲存在非管理記憶體中的字串中指定數量的字元複製到該記憶體中。 |
PtrToStringAuto(IntPtr)
分配一個受管理 String 的字元,並將儲存在非管理記憶體中的字串中,直到第一個空字元的所有字元複製到該字元。
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的副本;否則,此方法回傳 null。
- 屬性
備註
若目前平台為 Unicode,每個 ANSI 字元會被放大為 Unicode 字元,此方法呼叫 PtrToStringUni。 否則,此方法呼叫 PtrToStringAnsi。
PtrToStringAuto 適用於自訂編組或混合管理與非管理程式碼時。 由於此方法會產生未管理字串內容的副本,因此必須適當地釋放原始字串。 PtrToStringAuto 提供與 Marshal.StringToCoTaskMemAuto 和 Marshal.StringToHGlobalAuto 方法相反的功能。
另請參閱
- StringToCoTaskMemAuto(String)
- StringToHGlobalAuto(String)
- PtrToStringUni(IntPtr, Int32)
- PtrToStringAnsi(IntPtr)
適用於
PtrToStringAuto(IntPtr, Int32)
分配一個受管理 String 記憶體,並將儲存在非管理記憶體中的字串中指定數量的字元複製到該記憶體中。
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的副本;否則,此方法回傳 null。
- 屬性
例外狀況
len 小於零。
備註
在 Unicode 平台上,此方法呼叫 PtrToStringUni;在 ANSI 平台上,則呼叫 PtrToStringAnsi。 在呼叫這些方法之前,不會進行任何轉換。
PtrToStringAuto 適用於自訂編組或混合管理與非管理程式碼時。 由於此方法會產生未管理字串內容的副本,因此必須適當地釋放原始字串。 PtrToStringAuto提供與 相反的功能Marshal.StringToCoTaskMemAutoMarshal.StringToHGlobalAuto。
另請參閱
- StringToCoTaskMemAuto(String)
- StringToHGlobalAuto(String)
- PtrToStringUni(IntPtr, Int32)
- PtrToStringAnsi(IntPtr)