Функция NCryptCreateProtectionDescriptor (ncryptprotect.h)
Функция NCryptCreateProtectionDescriptor извлекает дескриптор защиты в объект дескриптора защиты.
SECURITY_STATUS NCryptCreateProtectionDescriptor(
[in] LPCWSTR pwszDescriptorString,
[in] DWORD dwFlags,
[out] NCRYPT_DESCRIPTOR_HANDLE *phDescriptor
);
[in] pwszDescriptorString
Строка Юникода, заканчивающаяся null, которая содержит строку правила дескриптора защиты или зарегистрированное отображаемое имя правила.
Если вы указываете отображаемое имя и хотите, чтобы эта функция просматривала в реестре строку связанного правила дескриптора защиты, необходимо задать параметру dwFlagsзначение NCRYPT_NAMED_DESCRIPTOR_FLAG.
[in] dwFlags
Флаг, указывающий, представляет ли строка в pwszDescriptorString отображаемое имя дескриптора защиты, и, если да, то где в реестре функция должна искать связанную строку правила защиты. Можно задать следующие сочетания значений:
- Чтобы указать, что значение, заданное в параметре pwszDescriptorString , является полной строкой правила дескриптора защиты, а не отображаемого имени, задайте для параметра dwFlags нулевое значение (0).
- Чтобы указать, что строка является отображаемым именем и что она сохраняется вместе со связанной строкой правила дескриптора в кусте реестра HKEY_LOCAL_MACHINE , побитовое или значение NCRYPT_NAMED_DESCRIPTOR_FLAG и значение NCRYPT_MACHINE_KEY_FLAG .
- Чтобы указать, что строка является отображаемым именем и что она сохранена вместе со связанным правилом строки дескриптора, задайте в кусте реестра HKEY_CURRENT_USER только значение NCRYPT_NAMED_DESCRIPTOR_FLAG . То есть нет уникального флага для указания куста текущего пользовательского реестра.
[out] phDescriptor
Указатель на дескриптор дескриптора защиты.
Возвращает код состояния, указывающий на успешное или неудачное выполнение функции. Возможные коды возврата включают, помимо прочего, следующие.
Код возврата | Описание |
---|---|
|
Функция выполнена успешно. |
|
Параметр phDescriptor не может иметь значение NULL.
Параметр pwszDescriptorString не может иметь значение NULL и не может быть пустым sting. |
|
Параметр dwFlags должен быть NCRYPT_MACHINE_KEY_FLAG или NCRYPT_NAMED_DESCRIPTOR_FLAG. |
|
Не удалось выделить память для получения строки зарегистрированного дескриптора защиты. |
|
Не удалось найти имя дескриптора защиты, указанного в параметре pwszDescriptorString . |
Объект дескриптора защиты, созданный этой функцией, представляет собой внутреннюю структуру данных, содержащую сведения о дескрипторе. Его нельзя использовать напрямую. Однако приложение может использовать возвращенный дескриптор в следующих функциях:
- NCryptCloseProtectionDescriptor
- NCryptGetProtectionDescriptorInfo
- NCryptProtectSecret
- NCryptProtectSecret
- NCryptUnprotectSecret
- NCryptStreamOpenToProtect
- "SID=S-1-5-21-4392301 AND SID=S-1-5-21-3101812"
- "SDDL=O:S-1-5-5-0-290724G:SYD:(A;; CCDC;; S-1-5-5-0-290724)(A;; DC;;; WD)"
- "LOCAL=user"
- "LOCAL=machine"
- "WEBCREDENTIALS=MyPasswordName"
- "WEBCREDENTIALS=MyPasswordName,myweb.com"
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 [только классические приложения] |
Минимальная версия сервера | Windows Server 2012 [только классические приложения] |
Целевая платформа | Windows |
Header | ncryptprotect.h |
Библиотека | NCrypt.lib |
DLL | NCrypt.dll |