Marshal.StringToCoTaskMemUTF8(String) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将托管 String 的内容复制到从非托管 COM 任务分配器分配的内存块。
public:
static IntPtr StringToCoTaskMemUTF8(System::String ^ s);
public static IntPtr StringToCoTaskMemUTF8 (string? s);
[System.Security.SecurityCritical]
public static IntPtr StringToCoTaskMemUTF8 (string s);
public static IntPtr StringToCoTaskMemUTF8 (string s);
static member StringToCoTaskMemUTF8 : string -> nativeint
[<System.Security.SecurityCritical>]
static member StringToCoTaskMemUTF8 : string -> nativeint
Public Shared Function StringToCoTaskMemUTF8 (s As String) As IntPtr
参数
- s
- String
要复制的托管字符串。
返回
IntPtr
nativeint
一个整数,表示指向字符串的内存块的指针;如果 s
为 null
,则为 0。
- 属性
例外
s
参数超过了操作系统所允许的最大长度。
没有足够的可用内存。
注解
StringToCoTaskMemUTF8 可用于自定义封送处理,或者在混合托管代码和非托管代码时使用。 由于此方法分配包含 null 终止符的字符串所需的非托管内存,因此始终通过调用 Marshal.FreeCoTaskMem来释放内存。 此方法提供 的相反功能 Marshal.PtrToStringUTF8。 字符串的字符复制为 UTF-8 字符。