Marshal.PtrToStringUni 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
分配托管 String 字符串,并将非托管 Unicode 字符串的所有或部分复制到其中。
重载
| 名称 | 说明 |
|---|---|
| PtrToStringUni(IntPtr) |
分配托管 String 字符,并将所有字符复制到非托管 Unicode 字符串中的第一个 null 字符。 |
| PtrToStringUni(IntPtr, Int32) |
分配托管 String 字符,并将非托管 Unicode 字符串中的指定数目的字符复制到其中。 |
PtrToStringUni(IntPtr)
- Source:
- Marshal.cs
- Source:
- Marshal.cs
- Source:
- Marshal.cs
- Source:
- Marshal.cs
- Source:
- Marshal.cs
分配托管 String 字符,并将所有字符复制到非托管 Unicode 字符串中的第一个 null 字符。
public:
static System::String ^ PtrToStringUni(IntPtr ptr);
[System.Security.SecurityCritical]
public static string PtrToStringUni(IntPtr ptr);
public static string? PtrToStringUni(IntPtr ptr);
public static string PtrToStringUni(IntPtr ptr);
[<System.Security.SecurityCritical>]
static member PtrToStringUni : nativeint -> string
static member PtrToStringUni : nativeint -> string
Public Shared Function PtrToStringUni (ptr As IntPtr) As String
参数
- ptr
-
IntPtr
nativeint
非托管字符串的第一个字符的地址。
返回
如果参数的值不是ptr,则保存非托管字符串的副本的null托管字符串;否则,此方法返回null。
- 属性
注解
PtrToStringUni 可用于自定义封送处理或在混合托管和非托管代码时使用。 由于此方法创建非托管字符串内容的副本,因此必须根据需要释放原始字符串。 此方法提供与方法相反的功能Marshal.StringToCoTaskMemUniMarshal.StringToHGlobalUni。
此 API 反映了 Unicode 的Windows定义,这是 UTF-16 2 字节编码。 在许多非Windows平台上,wchar_t数据类型为 4 字节,而不是 2 字节。 请查阅编译器以确认是否可以 wchar_t 使用还是 char16_t 应改用。
另请参阅
适用于
PtrToStringUni(IntPtr, Int32)
- Source:
- Marshal.cs
- Source:
- Marshal.cs
- Source:
- Marshal.cs
- Source:
- Marshal.cs
- Source:
- Marshal.cs
分配托管 String 字符,并将非托管 Unicode 字符串中的指定数目的字符复制到其中。
public:
static System::String ^ PtrToStringUni(IntPtr ptr, int len);
[System.Security.SecurityCritical]
public static string PtrToStringUni(IntPtr ptr, int len);
public static string PtrToStringUni(IntPtr ptr, int len);
[<System.Security.SecurityCritical>]
static member PtrToStringUni : nativeint * int -> string
static member PtrToStringUni : nativeint * int -> string
Public Shared Function PtrToStringUni (ptr As IntPtr, len As Integer) As String
参数
- ptr
-
IntPtr
nativeint
非托管字符串的第一个字符的地址。
- len
- Int32
要复制的 Unicode 字符数。
返回
如果参数的值不是ptr,则保存非托管字符串的副本的null托管字符串;否则,此方法返回null。
- 属性
注解
PtrToStringUni 对于自定义封送处理或在混合托管和非托管代码时非常有用。 由于此方法创建非托管字符串内容的副本,因此必须根据需要释放原始字符串。 此方法提供与方法相反的功能Marshal.StringToCoTaskMemUniMarshal.StringToHGlobalUni。
此 API 反映了 Unicode 的Windows定义,这是 UTF-16 2 字节编码。 在许多非Windows平台上,wchar_t数据类型为 4 字节,而不是 2 字节。 请查阅编译器以确认是否可以 wchar_t 使用还是 char16_t 应改用。