通过


Marshal.StringToBSTR(String) 方法

定义

分配 BSTR 并将托管 String 的内容复制到其中。

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

参数

s
String

要复制的托管字符串。

返回

IntPtr

nativeint

指向非托管指针的 BSTR指针,如果 s 为 null,则为 0。

属性

例外

内存不足。

s 长度不为范围。

注解

StringToBSTR 对于自定义封送处理或在混合托管和非托管代码时非常有用。 由于此方法分配字符串所需的非托管内存,因此始终通过调用Marshal.FreeBSTR完成时释放BSTR。 此方法提供了相反的功能 Marshal.PtrToStringBSTR

适用于

另请参阅