Marshal::StringToBSTR Method (String^)

 

Allocates a BSTR and copies the contents of a managed String into it.

Namespace:   System.Runtime.InteropServices
Assembly:  mscorlib (in mscorlib.dll)

public:
[SecurityCriticalAttribute]
static IntPtr StringToBSTR(
	String^ s
)

Parameters

s
Type: System::String^

The managed string to be copied.

Return Value

Type: System::IntPtr

An unmanaged pointer to the BSTR, or 0 if s is null.

Exception Condition
OutOfMemoryException

There is insufficient memory available.

ArgumentOutOfRangeException

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.

SecurityCriticalAttribute

requires full trust for the immediate caller. This member cannot be used by partially trusted or transparent code.

Universal Windows Platform
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Windows Phone
Available since 8.1
Return to top
Show: