共用方式為


SeCaptureSubjectContextEx 函式 (ntifs.h)

SeCaptureSubjectContextEx 會擷取呼叫線程安全性內容的快照集,以進行存取驗證和稽核。

語法

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

參數

Thread

[in]要從中擷取線程令牌的線程。 這是選擇性參數。 當它是 NULL 時, SeCaptureSubjectContextEx 不會擷取模擬令牌。

Process

[in]要從中擷取主要令牌 之進程的 標識碼指標。

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