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

Функция BCryptSetProperty задает значение именованного свойства для объекта CNG.

Синтаксис

NTSTATUS BCryptSetProperty(
  [in, out] BCRYPT_HANDLE hObject,
  [in]      LPCWSTR       pszProperty,
  [in]      PUCHAR        pbInput,
  [in]      ULONG         cbInput,
  [in]      ULONG         dwFlags
);

Параметры

[in, out] hObject

Дескриптор, представляющий объект CNG для задания значения свойства.

[in] pszProperty

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

[in] pbInput

Адрес буфера, содержащего новое значение свойства. Параметр cbInput содержит размер этого буфера.

[in] cbInput

Размер буфера pbInput (в байтах).

[in] dwFlags

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

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

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

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

Код возврата Описание
STATUS_SUCCESS
Функция выполнена успешно.
STATUS_INVALID_HANDLE
Дескриптор в параметре hObject недопустим.
STATUS_INVALID_PARAMETER
Один или несколько параметров недопустимы.
STATUS_NOT_SUPPORTED
Именованное свойство, указанное параметром pszProperty , не поддерживается или доступно только для чтения.

Комментарии

В зависимости от того, какие режимы процессора поддерживает поставщик, BCryptSetProperty можно вызывать из пользовательского режима или режима ядра. Вызовы режима ядра могут выполняться в PASSIVE_LEVELIRQL или DISPATCH_LEVEL IRQL. Если текущий уровень IRQL DISPATCH_LEVEL, все указатели, передаваемые в BCryptSetProperty , должны ссылаться на непагированную (или заблокированную) память. Если объект, указанный в параметре hObject , является дескриптором, он должен быть открыт с помощью флага BCRYPT_PROV_DISPATCH .

Чтобы вызвать эту функцию в режиме ядра, используйте файл Cng.lib, который входит в состав пакета средств разработки драйверов (DDK). Windows Server 2008 и Windows Vista: Чтобы вызвать эту функцию в режиме ядра, используйте Ksecdd.lib.

При установке значения для свойства BCRYPT_CHAINING_MODE параметр pbInput не связан с cbInput. Вызывающий объект должен убедиться, что указана допустимая строка Юникода, завершающаяся null.

Требования

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