Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция BCryptGetProperty извлекает значение именованного свойства для объекта CNG.
Синтаксис
NTSTATUS BCryptGetProperty(
[in] BCRYPT_HANDLE hObject,
[in] LPCWSTR pszProperty,
[out] PUCHAR pbOutput,
[in] ULONG cbOutput,
[out] ULONG *pcbResult,
[in] ULONG dwFlags
);
Параметры
[in] hObject
Дескриптор, представляющий объект CNG для получения значения свойства.
[in] pszProperty
Указатель на строку Юникода, завершающую значение NULL, содержащую имя свойства для извлечения. Это может быть один из стандартных идентификаторов Cryptography Primitive Property Identifiers или пользовательского идентификатора свойства.
[out] pbOutput
Адрес буфера, получающего значение свойства. Параметр cbOutput содержит размер этого буфера.
[in] cbOutput
Размер в байтах буфера pbOutput .
[out] pcbResult
Указатель на переменную ULONG , которая получает количество байтов, скопированных в буфер pbOutput . Если параметр pbOutput имеет NULL
значение, эта функция будет размещать требуемый размер в байтах в расположении, на которое указывает этот параметр.
[in] dwFlags
Набор флагов, изменяющих поведение этой функции. Для этой функции флаги не определены.
Этот параметр должен иметь значение нулю для ML-KEM.
Возвращаемое значение
Возвращает код состояния, указывающий на успешность или сбой функции.
Возможные коды возврата включают, но не ограничиваются следующими:
Код возврата | Описание |
---|---|
STATUS_SUCCESS | Функция была успешной. |
STATUS_BUFFER_TOO_SMALL | Размер буфера, указанный параметром cbOutput , недостаточно велик для хранения значения свойства. |
STATUS_INVALID_HANDLE | Дескриптор в параметре hObject недопустим. |
СТАТУС_НЕДЕЙСТВИТЕЛЬНЫЙ_ПАРАМЕТР | Один или несколько параметров недопустимы. |
STATUS_NOT_SUPPORTED | Свойство, указанное параметром pszProperty , не поддерживается. |
Замечания
Чтобы получить требуемый размер свойства, передайте NULL
для параметра pbOutput . Эта функция будет размещать требуемый размер в байтах в значении, на которое указывает параметр pcbResult .
В зависимости от того, какие режимы процессора поддерживает поставщик, BCryptGetProperty можно вызывать из пользовательского режима или режима ядра. Вызывающие серверы режима ядра могут выполняться в PASSIVE_LEVELIRQL или DISPATCH_LEVEL IRQL. Если текущий уровень IRQL DISPATCH_LEVEL, все указатели, передаваемые функции BCryptGetProperty , должны ссылаться на неупакованную (или заблокированную) память. Если объект, указанный в параметре hObject , является дескриптором, он должен быть открыт с помощью флага BCRYPT_PROV_DISPATCH .
Свойство BCRYPT_PARAMETER_SET_NAME должно быть задано в ключах BCrypt ML-DSA, прежде чем их можно будет использовать. Эти данные можно получить из ключевых объектов.
Чтобы вызвать эту функцию в режиме ядра, используйте Cng.lib
пакет средств разработки драйверов (DDK).
Windows Server 2008 и Windows Vista: Чтобы вызвать эту функцию в режиме ядра, используйте Ksecdd.lib
.
Требования
Требование | Ценность |
---|---|
Минимальный поддерживаемый клиент | Windows Vista [классические приложения | Приложения UWP] |
минимальный поддерживаемый сервер | Windows Server 2008 [классические приложения | Приложения UWP] |
целевая платформа | Виндоус |
Заголовок | bcrypt.h |
Библиотека | Bcrypt.lib |
Библиотека dll | Bcrypt.dll |