SeCaptureSubjectContextEx 函数 (ntifs.h)

SeCaptureSubjectContextEx 拍摄调用线程的安全上下文的快照,用于访问验证和审核。

语法

void SeCaptureSubjectContextEx(
  PETHREAD                  Thread,
  PEPROCESS                 Process,
  PSECURITY_SUBJECT_CONTEXT SubjectContext
);

参数

Thread

[in]从中捕获线程令牌的线程。 此参数是可选的。 如果为 NULL,SeCaptureSubjectContextEx 不会捕获模拟令牌。

Process

[in]指向从中捕获主令牌的进程 ID 的指针。

SubjectContext

[out]指向不透明的调用方分配 SECURITY_SUBJECT_CONTEXT 结构的指针。 SeCaptureSubjectContextEx 将写入调用线程的安全配置文件的快照,其中包含对此结构中访问令牌的引用。 驱动程序不得修改或尝试直接访问此结构的任何成员以做出安全决策。 相反,为了避免授权中的安全问题,请将此不透明的结构传递给 SeAccessCheckSePrivilegeCheck

返回值

没有

言论

在执行访问验证或生成审核消息等服务之前,必须先调用 SeCaptureSubjectContextEx。 这需要为例程提供一致的安全上下文,例如:

访问验证、特权检查和审核生成服务完成后,通过调用 SeReleaseSubjectContext尽快释放捕获的上下文。

SeCaptureSubjectContextEx 在拍摄调用线程安全上下文快照时根据需要锁定令牌。

返回时,访问令牌的引用包含在 SubjectContext 指向的结构中。 该结构的内容可能会更改。 若要防止这种情况,请调用 SeLockSubjectContext 来锁定主访问令牌以及与结构关联的任何模拟令牌。 例如,当在同一安全上下文(如前面列出的例程)中使用多次查询令牌信息的例程时,请使用 SeLockSubjectContext 锁定主题上下文以获取一致的结果。

有关安全和访问控制的详细信息,请参阅适用于驱动程序开发人员 Windows 安全模型,以及有关 Windows SDK 中这些主题的文档。

要求

要求 价值
最低支持的客户端 Windows Vista
标头 ntifs.h
NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

另请参阅

SECURITY_SUBJECT_CONTEXT

SeLockSubjectContext

SePrivilegeCheck

SeQueryAuthenticationIdToken

SeQueryInformationToken

SeQuerySubjectContextToken

SeReleaseSubjectContext

SeUnlockSubjectContext