Функция 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используйте массив привилегий, чтобы указать набор привилегий для проверки. Задайте элементу элемента управления значение PRIVILEGE_SET_ALL_NECESSARY, если все привилегии должны быть включены; или задайте для него значение нулю, если достаточно включить любой из привилегий.

[out] Result

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

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

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

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

Замечания

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

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows XP
заголовка ntifs.h
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe

См. также

LUID_AND_ATTRIBUTES

PRIVILEGE_SET

SECURITY_SUBJECT_CONTEXT

SeAccessCheck

SeAppendPrivileges

SeFreePrivileges

SeQueryInformationToken

SeSinglePrivilegeCheck