Marshal.StringToBSTR(String) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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
Parameters
- s
- String
The managed string to be copied.
Returns
nativeint
An unmanaged pointer to the BSTR
, or 0 if s
is null.
- Attributes
Exceptions
There is insufficient memory available.
The length for s
is out of range.
Remarks
StringToBSTR is useful for custom marshaling or when mixing managed and unmanaged code. Because this method allocates the unmanaged memory required for a string, always free the BSTR
when finished by calling Marshal.FreeBSTR. This method provides the opposite functionality of Marshal.PtrToStringBSTR.