Функция NCryptOpenStorageProvider (ncrypt.h)

Функция NCryptOpenStorageProvider загружает и инициализирует поставщика хранилища ключей CNG.

Синтаксис

SECURITY_STATUS NCryptOpenStorageProvider(
  [out]          NCRYPT_PROV_HANDLE *phProvider,
  [in, optional] LPCWSTR            pszProviderName,
  [in]           DWORD              dwFlags
);

Параметры

[out] phProvider

Указатель на переменную NCRYPT_PROV_HANDLE , которая получает дескриптор поставщика. Завершив использование этого дескриптора, отпустите его, передав его в функцию NCryptFreeObject .

[in, optional] pszProviderName

Указатель на строку Юникода, завершающуюся null, которая определяет поставщика хранилища ключей для загрузки. Это зарегистрированный псевдоним поставщика хранилища ключей. Этот параметр является необязательным и может иметь значение NULL. Если этот параметр имеет значение NULL, загружается поставщик хранилища ключей по умолчанию. Следующие значения определяют встроенных поставщиков хранилища ключей.

Значение Значение
MS_KEY_STORAGE_PROVIDER
L"Поставщик хранилища ключей программного обеспечения Майкрософт"
Определяет поставщика хранилища ключей программного обеспечения, предоставляемого корпорацией Майкрософт.
MS_SMART_CARD_KEY_STORAGE_PROVIDER
L"Поставщик хранилища ключей смарт-карт Майкрософт"
Определяет поставщика хранилища ключей интеллектуального карта, предоставляемого корпорацией Майкрософт.
MS_PLATFORM_CRYPTO_PROVIDER
L"Поставщик шифрования платформы Майкрософт"
Определяет поставщика хранилища ключей доверенного платформенного модуля, предоставляемого корпорацией Майкрософт.

[in] dwFlags

Флаги, изменяющие поведение функции. Для этой функции не определены флаги.

Возвращаемое значение

Возвращает код состояния, указывающий на успешное или неудачное выполнение функции.

Возможные коды возврата включают, помимо прочего, следующие.

Код возврата Описание
ERROR_SUCCESS
Функция выполнена успешно.
NTE_BAD_FLAGS
Параметр dwFlags содержит один или несколько флагов, которые не поддерживаются.
NTE_INVALID_PARAMETER
Один или несколько параметров являются недопустимыми.
NTE_NO_MEMORY
Произошел сбой выделения памяти.

Комментарии

В случае возврата условия ошибки поставщик будет выгружен из памяти. Функции в поставщике не должны вызываться после возврата ошибки сбоя.

Служба не должна вызывать эту функцию из функции StartService. Если служба вызывает эту функцию из функции StartService, может возникнуть взаимоблокировка, и служба может перестать отвечать на запросы.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header ncrypt.h
Библиотека Ncrypt.lib
DLL Ncrypt.dll