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