SECURITY_STATUS NCryptOpenStorageProvider( [out] NCRYPT_PROV_HANDLE *phProvider, [in, optional] LPCWSTR pszProviderName, [in] DWORD dwFlags );
: If you are writing a service, never let the application pause for user input.
NCRYPT_PROV_HANDLE hProvider = NULL;
ProviderHandle New(string providerName); // Or NCryptOpenStorageProviderNew(..., ..., NCRYPT_NEW_CONTEXT);