CryptGetDefaultProvider (advapi32)
Last changed: mrprgrmr-12.11.145.74

.
Summary
Used to determine the name of the default cryptographic service provider (CSP) of a specified provider type for the local computer or current user.

C# Signature:

[DllImport("advapi32.dll", SetLastError=true)]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool CryptGetDefaultProvider(
    UInt32 dwProvType,
    IntPtr pdwReserved,
    UInt32 dwFlags,
    StringBuilder pszProvName,
    ref IntPtr ProvName
);

VB Signature:

Declare Function CryptGetDefaultProvider Lib "advapi32.dll" (TODO) As TODO

User-Defined Types:

// Possible values for dwFlags
const UInt32 CRYPT_USER_DEFAULT = 0x00000002;
const UInt32 CRYPT_MACHINE_DEFAULT = 0x00000001;

Alternative Managed API:

Do you know one? Please contribute it!

Notes:

None.

Tips & Tricks:

Please add some!

Sample Code:

StringBuilder providerName = new StringBuilder(255);
IntPtr providerNameLen = new IntPtr(255);

if (CryptGetDefaultProvider(
    PROV_RSA_FULL,
    IntPtr.Zero,
    CRYPT_USER_DEFAULT,
    providerName,
    ref providerNameLen))
{
    MessageBox.Show(String.Format("The default provider is {0}", providerName.ToString()));
}
else
{
    MessageBox.Show("Unable to get the default provider");
}

Documentation