Marshal.SecureStringToBSTR(SecureString) Method

Definition

Important

This API is not CLS-compliant.

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

public:
 static IntPtr SecureStringToBSTR(System::Security::SecureString ^ s);
public static IntPtr SecureStringToBSTR (System.Security.SecureString s);
[System.CLSCompliant(false)]
public static IntPtr SecureStringToBSTR (System.Security.SecureString s);
[System.Security.SecurityCritical]
public static IntPtr SecureStringToBSTR (System.Security.SecureString s);
static member SecureStringToBSTR : System.Security.SecureString -> nativeint
[<System.CLSCompliant(false)>]
static member SecureStringToBSTR : System.Security.SecureString -> nativeint
[<System.Security.SecurityCritical>]
static member SecureStringToBSTR : System.Security.SecureString -> nativeint
Public Shared Function SecureStringToBSTR (s As SecureString) As IntPtr

Parameters

s
SecureString

The managed object to copy.

Returns

IntPtr

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

Attributes

Exceptions

The s parameter is null.

There is insufficient memory available.

Remarks

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.

Applies to