Функция NCryptQueryProtectionDescriptorName (ncryptprotect.h)

Функция NCryptQueryProtectionDescriptorName извлекает строку правила дескриптора защиты, связанную с отображаемым именем зарегистрированного дескриптора.

Синтаксис

SECURITY_STATUS NCryptQueryProtectionDescriptorName(
  [in]      LPCWSTR pwszName,
  [out]     LPWSTR  pwszDescriptorString,
  [in, out] SIZE_T  *pcDescriptorString,
            DWORD   dwFlags
);

Параметры

[in] pwszName

Зарегистрированные отображаемое имя дескриптора защиты. Зарегистрируйте имя, вызвав функцию NCryptRegisterProtectionDescriptorName .

[out] pwszDescriptorString

Строка Юникода, завершающаяся null, которая содержит правило дескриптора защиты. Задайте для этого значения значение NULL , а размер строки дескриптора, на который указывает аргумент pcDescriptorString , равным нулю при первоначальном вызове этой функции. Дополнительные сведения см. в подразделе "Примечания".

[in, out] pcDescriptorString

Указатель на переменную, содержащую количество символов в строке, полученной в параметре pwszDescriptorString . При первоначальном вызове этой функции задайте для переменной нулевое значение. Дополнительные сведения см. в подразделе "Примечания".

dwFlags

Флаг, указывающий куст реестра для запроса зарегистрированного имени. Это может быть ноль для поиска в кусте HKEY_CURRENT_USER или можно указать NCRYPT_MACHINE_KEY_FLAG для запроса куста HKEY_LOCAL_MACHINE .

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

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

Код возврата Описание
ERROR_SUCCESS
Функция выполнена успешно.
NTE_INVALID_PARAMETER
Параметр pwszName не может иметь значение NULL, а значение, указываемое параметром , не может быть пустой строкой.
NTE_BAD_FLAGS
Параметр dwFlags должен быть равен нулю или NCRYPT_MACHINE_KEY_FLAG.

Комментарии

Чтобы получить строку правила дескриптора защиты, необходимо вызвать эту функцию дважды. При первом вызове задайте для аргумента pwszDescriptorStringзначение NULL , а значение, на которое указывает аргумент pcDescriptorString , равным нулю. При первом вызове извлекается количество символов в строке дескриптора. Используйте это число для выделения памяти для строки и получения указателя на выделенный буфер. Чтобы получить строку, снова вызовите функцию с помощью указателя.

Требования

Требование Значение
Минимальная версия клиента Windows 8 [только классические приложения]
Минимальная версия сервера Windows Server 2012 [только классические приложения]
Целевая платформа Windows
Header ncryptprotect.h
Библиотека NCrypt.lib
DLL NCrypt.dll

См. также раздел

Функции DPAPI CNG

NCryptRegisterProtectionDescriptorName