Функция BCryptQueryContextFunctionConfiguration (bcrypt.h)
[BCryptQueryContextFunctionConfiguration доступен для использования в операционных системах, указанных в разделе Требования. Он может быть изменен или недоступен в последующих версиях.]
Функция BCryptQueryContextFunctionConfiguration получает сведения о конфигурации криптографической функции для существующего контекста CNG.
Синтаксис
NTSTATUS BCryptQueryContextFunctionConfiguration(
[in] ULONG dwTable,
[in] LPCWSTR pszContext,
[in] ULONG dwInterface,
[in] LPCWSTR pszFunction,
[in, out] ULONG *pcbBuffer,
[in, out] PCRYPT_CONTEXT_FUNCTION_CONFIG *ppBuffer
);
Параметры
[in] dwTable
Определяет таблицу конфигурации, в котором существует контекст. Это может быть одно из следующих значений.
Значение | Значение |
---|---|
|
Контекст существует в таблице конфигурации локального компьютера. |
|
Это значение недоступно для использования. |
[in] pszContext
Указатель на строку Юникода, завершающуюся null, которая содержит идентификатор контекста для получения сведений о конфигурации функции.
[in] dwInterface
Идентифицирует криптографический интерфейс для получения сведений о конфигурации функции. Это может быть одно из следующих значений.
[in] pszFunction
Указатель на строку Юникода, завершающуюся null, которая содержит идентификатор криптографической функции для получения сведений о конфигурации.
[in, out] pcbBuffer
Адрес переменной ULONG , которая при входе содержит размер буфера, на который указывает ppBuffer, в байтах. Если этот размер недостаточно велик для хранения сведений о контексте, эта функция завершится сбоем с STATUS_BUFFER_TOO_SMALL.
После возврата этой функции эта переменная содержит количество байтов, скопированных в буфер ppBuffer .
[in, out] ppBuffer
Адрес указателя на структуру CRYPT_CONTEXT_FUNCTION_CONFIG , получающую сведения о конфигурации функции, полученные этой функцией. Значение, на которое указывает параметр pcbBuffer , содержит размер этого буфера.
Если значение, на которое указывает этот параметр, равно NULL, эта функция выделяет необходимую память. Эта память должна быть освобождена, если она больше не нужна, путем передачи этого указателя в функцию BCryptFreeBuffer .
Если этот параметр имеет значение NULL, эта функция поместит необходимый размер в байтах в переменную, на которую указывает параметр pcbBuffer , и вернет STATUS_BUFFER_TOO_SMALL.
Дополнительные сведения об использовании этого параметра см. в разделе Примечания.
Возвращаемое значение
Возвращает код состояния, указывающий на успешное или неудачное выполнение функции.
Возможные коды возврата включают, помимо прочего, следующие.
Код возврата | Описание |
---|---|
|
Функция выполнена успешно. |
|
Параметр ppBuffer не имеет значение NULL, а значение, на которое указывает параметр pcbBuffer , недостаточно велико для хранения набора контекстов. |
|
Один или несколько параметров являются недопустимыми. |
|
Произошел сбой выделения памяти. |
|
Не удалось найти указанный контекст или функцию. |
Комментарии
Каждая криптографическая функция имеет только один набор сведений о конфигурации, поэтому, хотя параметр ppBuffer , как представляется, используется в качестве массива, эта функция рассматривает его как массив только с одним элементом. В следующем примере показано, как используется этот параметр.
// Get the function configuration information.
CRYPT_CONTEXT_FUNCTION_CONFIG FuncConfig;
ULONG uSize = sizeof(FuncConfig);
PCRYPT_CONTEXT_FUNCTION_CONFIG pFuncConfig = &FuncConfig;
status = BCryptQueryContextFunctionConfiguration(
CRYPT_LOCAL,
pszContext,
NCRYPT_SCHANNEL_INTERFACE,
pszFunction,
&uSize,
&pFuncConfig);
BCryptQueryContextFunctionConfiguration можно вызывать только в пользовательском режиме.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | bcrypt.h |
Библиотека | Bcrypt.lib |
DLL | Bcrypt.dll |