Export (0) Print
Expand All

Marshal.StringToBSTR Method

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

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

public 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.

ExceptionCondition
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.

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

Supported in: Windows Phone 8.1

  • SecurityCriticalAttribute 

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

Show:
© 2015 Microsoft