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


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

[BCryptQueryContextConfiguration доступен для использования в операционных системах, указанных в разделе Требования. Он может быть изменен или недоступен в последующих версиях.]

Функция BCryptQueryContextConfiguration извлекает текущую конфигурацию для указанного контекста CNG.

Синтаксис

NTSTATUS BCryptQueryContextConfiguration(
  [in]      ULONG                 dwTable,
  [in]      LPCWSTR               pszContext,
  [in, out] ULONG                 *pcbBuffer,
  [in, out] PCRYPT_CONTEXT_CONFIG *ppBuffer
);

Параметры

[in] dwTable

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

Значение Значение
CRYPT_LOCAL
Контекст существует в таблице конфигурации локального компьютера.
CRYPT_DOMAIN
Это значение недоступно для использования.

[in] pszContext

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

[in, out] pcbBuffer

Адрес переменной ULONG , которая при входе содержит размер буфера, на который указывает ppBuffer, в байтах. Если этот размер недостаточно велик для хранения сведений о контексте, эта функция завершится сбоем с STATUS_BUFFER_TOO_SMALL.

После возврата этой функции эта переменная содержит количество байтов, скопированных в буфер ppBuffer .

[in, out] ppBuffer

Адрес указателя на структуру CRYPT_CONTEXT_CONFIG , которая получает сведения о конфигурации контекста, полученные этой функцией. Значение, на которое указывает параметр pcbBuffer , содержит размер этого буфера.

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

Если этот параметр имеет значение NULL, эта функция поместит необходимый размер в байтах в переменную, на которую указывает параметр pcbBuffer , и вернет STATUS_BUFFER_TOO_SMALL.

Дополнительные сведения об использовании этого параметра см. в разделе Примечания.

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

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

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

Код возврата Описание
STATUS_SUCCESS
Функция выполнена успешно.
STATUS_BUFFER_TOO_SMALL
Параметр ppBuffer не имеет значение NULL, а значение, на которое указывает параметр pcbBuffer , недостаточно велико для хранения набора контекстов.
STATUS_INVALID_PARAMETER
Один или несколько параметров являются недопустимыми.
STATUS_NO_MEMORY
Произошел сбой выделения памяти.
STATUS_NOT_FOUND
Не удалось найти указанный контекст.

Комментарии

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

// Get the configuration information for the context.
CRYPT_CONTEXT_CONFIG config;
ULONG uSize = sizeof(config);
PCRYPT_CONTEXT_CONFIG pConfig = &config;
status = BCryptQueryContextConfiguration(
    CRYPT_LOCAL, 
    pszContextID, 
    &uSize, 
    &pConfig);

BCryptQueryContextConfiguration можно вызывать только в пользовательском режиме.

Требования

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