Marshal.StringToBSTR(String) Method
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
- s
- String
The managed string to be copied.
nativeint
An unmanaged pointer to the BSTR
, or 0 if s
is null.
- Attributes
There is insufficient memory available.
The length for s
is out of range.
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.
Product | Versions |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1 |
UWP | 10.0 |
.NET feedback
.NET is an open source project. Select a link to provide feedback: