Поделиться через


Функция BCryptEnumProviders (bcrypt.h)

Функция BCryptEnumProviders получает все поставщики CNG, поддерживающие указанный алгоритм.

Синтаксис

NTSTATUS BCryptEnumProviders(
  [in]  LPCWSTR              pszAlgId,
  [out] ULONG                *pImplCount,
  [out] BCRYPT_PROVIDER_NAME **ppImplList,
  [in]  ULONG                dwFlags
);

Параметры

[in] pszAlgId

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

[out] pImplCount

Указатель на переменную ULONG ULONG для получения количества элементов в массив е ppImplList.

[out] ppImplList

Адрес массива структур BCRYPT_PROVIDER_NAME для получения коллекции поставщиков, поддерживающих указанный алгоритм. Параметр pImplCount получает количество элементов в этом массиве. Эта память должна быть освобождена, если она больше не нужна, передав этот указатель на функцию BCryptFreeBuffer.

[in] dwFlags

Набор флагов, который изменяет поведение этой функции. В настоящее время нет определенных флагов, поэтому этот параметр должен быть равен нулю.

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

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

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

Возвращаемый код Описание
STATUS_SUCCESS
Функция была успешной.
STATUS_INVALID_PARAMETER
Один или несколько параметров недопустимы.
STATUS_NO_MEMORY
Произошел сбой выделения памяти.

Замечания

BCryptEnumProviders можно вызывать из пользовательского режима или режима ядра. Вызывающие вызовы режима ядра должны выполняться в PASSIVE_LEVELIRQL.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows Vista [классические приложения | Приложения UWP]
минимальный поддерживаемый сервер Windows Server 2008 [классические приложения | Приложения UWP]
целевая платформа Виндоус
заголовка bcrypt.h
библиотеки Bcrypt.lib
DLL Bcrypt.dll

См. также

BCRYPT_PROVIDER_NAME

BCryptFreeBuffer