SecureStringToBSTR Method
Collapse the table of content
Expand the table of content

Marshal.SecureStringToBSTR Method (SecureString)


Allocates an unmanaged binary string (BSTR) and copies the contents of a managed SecureString object into it.

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

public static IntPtr SecureStringToBSTR(
	SecureString s


Type: System.Security.SecureString

The managed object to copy.

Return Value

Type: System.IntPtr

The address, in unmanaged memory, where the s parameter was copied to, or 0 if a null object was supplied.

Exception Condition

The s parameter is null.


The current computer is not running Windows 2000 Service Pack 3 or later.


There is insufficient memory available.

The SecureStringToBSTR method 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 the ZeroFreeBSTR method.

Notes to Callers:

This method is supported only on computers running Windows 2000 Service Pack 3 or later.


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

.NET Framework
Available since 2.0
Return to top
© 2015 Microsoft