Функция NCryptGetProperty (ncrypt.h)
Функция NCryptGetProperty извлекает значение именованного свойства для объекта хранилища ключей.
Синтаксис
SECURITY_STATUS NCryptGetProperty(
[in] NCRYPT_HANDLE hObject,
[in] LPCWSTR pszProperty,
[out] PBYTE pbOutput,
[in] DWORD cbOutput,
[out] DWORD *pcbResult,
[in] DWORD dwFlags
);
Параметры
[in] hObject
Дескриптор объекта для получения свойства. Это может быть дескриптор поставщика (NCRYPT_PROV_HANDLE) или маркер ключа (NCRYPT_KEY_HANDLE).
[in] pszProperty
Указатель на строку Юникода, завершающуюся null, которая содержит имя извлекаемого свойства. Это может быть один из предопределенных идентификаторов свойств хранилища ключей или настраиваемый идентификатор свойства.
[out] pbOutput
Адрес буфера, получающего значение свойства. Параметр cbOutput содержит размер этого буфера.
Чтобы вычислить размер буфера, задайте для этого параметра значение NULL. Требуемый размер в байтах возвращается в расположении, на который указывает параметр pcbResult .
[in] cbOutput
Размер буфера pbOutput (в байтах).
[out] pcbResult
Указатель на переменную DWORD , получающую количество байтов, скопированных в буфер pbOutput .
Если параметр pbOutput имеет значение NULL, размер в байтах, необходимый для буфера, помещается в расположение, указанное этим параметром.
[in] dwFlags
Флаги, изменяющие поведение функции. Это может быть ноль или следующее значение.
Для свойства NCRYPT_SECURITY_DESCR_PROPERTY этот параметр также должен содержать одно из следующих значений, которое определяет часть извлекаемого дескриптора безопасности.
Значение | Значение |
---|---|
|
Получение идентификатора безопасности (SID) владельца объекта. Используйте функцию GetSecurityDescriptorOwner , чтобы получить идентификатор безопасности владельца из структуры SECURITY_DESCRIPTOR . |
|
Получение идентификатора безопасности основной группы объекта. Используйте функцию GetSecurityDescriptorGroup , чтобы получить идентификатор безопасности группы из структуры SECURITY_DESCRIPTOR . |
|
Получите список управления доступом на уровне пользователей (DACL). Используйте функцию GetSecurityDescriptorSacl , чтобы получить список DACL из структуры SECURITY_DESCRIPTOR . |
|
Получение списка управления доступом системы (SACL). Используйте функцию GetSecurityDescriptorDacl для получения списка SACL из структуры SECURITY_DESCRIPTOR . |
Возвращаемое значение
Возвращает код состояния, указывающий на успешное или неудачное выполнение функции.
Возможные коды возврата включают, помимо прочего, следующие.
Код возврата | Описание |
---|---|
ERROR_SUCCESS |
Функция выполнена успешно. |
NTE_BAD_FLAGS |
Параметр dwFlags содержит недопустимое значение. |
NTE_INVALID_HANDLE |
Недопустимый параметр hObject . |
NTE_INVALID_PARAMETER |
Один или несколько параметров недопустимы. |
NTE_NO_MEMORY |
Произошел сбой выделения памяти. |
NTE_NOT_SUPPORTED |
Указанное свойство не поддерживается для объекта . |
Комментарии
Служба не должна вызывать эту функцию из функции StartService . Если служба вызывает эту функцию из своей StartService
функции, может возникнуть взаимоблокировка, и служба может перестать отвечать.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2008 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | ncrypt.h |
Библиотека | Ncrypt.lib |
DLL | Ncrypt.dll |