Поделиться через


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

Подпрограмма SePrivilegeCheck определяет, включен ли указанный набор привилегий в маркере доступа субъекта.

Синтаксис

BOOLEAN SePrivilegeCheck(
  [in, out] PPRIVILEGE_SET            RequiredPrivileges,
  [in]      PSECURITY_SUBJECT_CONTEXT SubjectSecurityContext,
  [in]      KPROCESSOR_MODE           AccessMode
);

Параметры

[in, out] RequiredPrivileges

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

Когда SePrivilegeCheck возвращается, атрибуты член каждой структуры LUID_AND_ATTRIBUTES имеет значение SE_PRIVILEGE_USED_FOR_ACCESS, если включена соответствующая привилегия.

[in] SubjectSecurityContext

Указатель на захваченный контекст безопасности субъекта.

[in] AccessMode

Режим доступа, используемый для проверки привилегий. Либо UserMode, либо KernelMode. Если AccessMode установлено значение KernelMode, все привилегии помечены как имеющиеся субъектом, и SePrivilegeCheck возвращает TRUE.

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

SePrivilegeCheck возвращает TRUE, если все указанные привилегии хранятся субъектом, FALSE в противном случае.

Замечания

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

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

Требования

Требование Ценность
целевая платформа Всеобщий
заголовка ntifs.h (include Ntifs.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

См. также

LUID_AND_ATTRIBUTES

PRIVILEGE_SET

SECURITY_SUBJECT_CONTEXT

SeAccessCheck

SeAppendPrivileges

SeFreePrivileges

SeQueryInformationToken

SeSinglePrivilegeCheck