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

SeCaptureSubjectContext принимает snapshot контекста вызывающего потока для проверки доступа и аудита. См. также SeCaptureSubjectContextEx.

Синтаксис

void SeCaptureSubjectContext(
  [out] PSECURITY_SUBJECT_CONTEXT SubjectContext
);

Параметры

[out] SubjectContext

[out] Указатель на непрозрачную структуру, выделенную вызывающим объектом SECURITY_SUBJECT_CONTEXT . SeCaptureSubjectContext записывает snapshot профиля безопасности вызывающего потока, который содержит ссылки на маркеры доступа в этой структуре. Драйверы не должны изменять или пытаться напрямую обращаться к каким-либо членам этой структуры для принятия решений по обеспечению безопасности. Вместо этого, чтобы избежать проблем с безопасностью при авторизации, передайте эту непрозрачную структуру в вызовах SeAccessCheck или SePrivilegeCheck.

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

None

Remarks

Перед выполнением таких служб, как проверка доступа или создание сообщений аудита, необходимо вызвать SeCaptureSubjectContext . Это необходимо для обеспечения единообразного контекста безопасности для таких процедур:

После выполнения проверки доступа, проверки привилегий и создания аудита как можно скорее отпустите захваченный контекст, вызвав SeReleaseSubjectContext.

SeCaptureSubjectContext при необходимости блокирует маркеры, принимая snapshot контекста безопасности вызывающего потока.

При возврате ссылки на маркеры доступа содержатся в структуре, на которую указывает SubjectContext . Содержимое этой структуры может измениться. Чтобы избежать этого, вызовите SeLockSubjectContext , чтобы заблокировать основной маркер доступа и все маркеры олицетворения, связанные со структурой. Например, при использовании подпрограмм, которые несколько раз запрашивают сведения о маркерах в одном контексте безопасности (например, перечисленные ранее), заблокируйте контекст субъекта с помощью SeLockSubjectContext , чтобы получить согласованные результаты.

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

Требования

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

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

SeCaptureSubjectContextEx

SECURITY_SUBJECT_CONTEXT

SeLockSubjectContext

SePrivilegeCheck

SeQueryAuthenticationIdToken

SeQueryInformationToken

SeQuerySubjectContextToken

SeReleaseSubjectContext

SeUnlockSubjectContext