Функция NtPrivilegeCheck (ntifs.h)

NtPrivilegeCheck зарезервирован для использования системой.

Синтаксис

__kernel_entry NTSYSCALLAPI NTSTATUS NtPrivilegeCheck(
  [in]      HANDLE         ClientToken,
  [in, out] PPRIVILEGE_SET RequiredPrivileges,
  [out]     PBOOLEAN       Result
);

Параметры

[in] ClientToken

Дескриптор объекта токена, представляющий клиент, пытающийся получить доступ. Этот дескриптор должен быть получен на уровне сеанса связи, например из порта LPC или локального именованного канала, чтобы предотвратить возможные нарушения политики безопасности.

[in, out] RequiredPrivileges

Указатель на структуру PRIVILEGE_SET . Элемент Privilege этой структуры является массивом LUID_AND_ATTRIBUTES структур. Перед вызовом SePrivilegeCheck используйте массив Привилегий, чтобы указать набор привилегий для проверка. Задайте элементу Control значение PRIVILEGE_SET_ALL_NECESSARY, если все привилегии должны быть включены; или задайте для него значение 0, если достаточно включить любой из привилегий.

[out] Result

Получает логический флаг, указывающий, имеет ли клиент все указанные привилегии. Значение TRUE указывает, что клиент имеет все указанные привилегии; В противном случае возвращается значение FALSE.

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

NtPrivilegeCheck возвращает STATUS_SUCCESS при успешном завершении. В противном случае возвращается код ошибки, как показано ниже.

Код возврата Описание
STATUS_PRIVILEGE_NOT_HELD Вызывающий объект не имеет достаточных привилегий для использования этой привилегированной системной службы.

Комментарии

Маркер доступа содержит список привилегий, имеющихся у учетной записи, связанной с маркером. Эти привилегии можно включить или отключить; Большинство из них отключены по умолчанию. NtPrivilegeCheck проверяет только включенные привилегии. Чтобы получить список всех включенных и отключенных привилегий, удерживаемых маркером доступа, вызовите SeQueryInformationToken.

Дополнительные сведения о безопасности и управлении доступом см. в статье Модель безопасности Windows для разработчиков драйверов и в документации по этим темам в windows SDK.

Требования

Требование Значение
Минимальная версия клиента Windows XP
Верхняя часть ntifs.h
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe

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

LUID_AND_ATTRIBUTES

PRIVILEGE_SET

SECURITY_SUBJECT_CONTEXT

SeAccessCheck

SeAppendPrivileges

SeFreePrivileges

SeQueryInformationToken

SeSinglePrivilegeCheck