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


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

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

[in] SubjectSecurityContext

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

[in] AccessMode

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

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

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

Комментарии

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

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

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть ntifs.h (включая Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

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

LUID_AND_ATTRIBUTES

PRIVILEGE_SET

SECURITY_SUBJECT_CONTEXT

SeAccessCheck

SeAppendPrivileges

SeFreePrivileges

SeQueryInformationToken

SeSinglePrivilegeCheck