Функция 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 |