Marshal.StringToCoTaskMemAnsi(String) 方法

定义

将托管 String 的内容复制到从非托管 COM 任务分配器分配的内存块。

public:
 static IntPtr StringToCoTaskMemAnsi(System::String ^ s);
[System.Security.SecurityCritical]
public static IntPtr StringToCoTaskMemAnsi (string s);
public static IntPtr StringToCoTaskMemAnsi (string? s);
public static IntPtr StringToCoTaskMemAnsi (string s);
[<System.Security.SecurityCritical>]
static member StringToCoTaskMemAnsi : string -> nativeint
static member StringToCoTaskMemAnsi : string -> nativeint
Public Shared Function StringToCoTaskMemAnsi (s As String) As IntPtr

参数

s
String

要复制的托管字符串。

返回

IntPtr

nativeint

一个整数,表示指向字符串的内存块的指针;如果 snull,则为 0。

属性

例外

没有足够的可用内存。

s 参数超过了操作系统所允许的最大长度。

注解

StringToCoTaskMemAnsi 对于自定义封送处理或在混合托管和非托管代码时非常有用。 由于此方法分配字符串所需的非托管内存,因此始终通过调用 FreeCoTaskMem释放内存。 此方法提供相反的功能 Marshal.PtrToStringAnsi。 字符串的字符将复制为 ANSI 字符。

适用于

另请参阅