SeCaptureSubjectContextEx-Funktion (ntifs.h)

SeCaptureSubjectContextEx übernimmt eine Momentaufnahme des Sicherheitskontexts des aufrufenden Threads für die Zugriffsüberprüfung und -überwachung.

Syntax

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

Parameter

Thread

[in] Der Thread, von dem das Threadtoken erfasst werden soll. Dieser Parameter ist optional. Wenn es NULL ist, erfasst SeCaptureSubjectContextEx kein Identitätswechseltoken.

Process

[in] Zeiger auf die ID des Prozesses , aus dem das primäre Token erfasst werden soll.

SubjectContext

[out] Zeiger auf eine undurchsichtige aufruferseitig zugeordnete SECURITY_SUBJECT_CONTEXT-Struktur . SeCaptureSubjectContextEx schreibt die Momentaufnahme des Sicherheitsprofils des aufrufenden Threads, das Verweise auf Zugriffstoken enthält, in diese Struktur. Treiber dürfen keine Elemente dieser Struktur ändern oder versuchen, direkt darauf zuzugreifen, um Sicherheitsentscheidungen zu treffen. Um Sicherheitsprobleme bei der Autorisierung zu vermeiden, übergeben Sie stattdessen diese undurchsichtige Struktur in Aufrufen von SeAccessCheck oder SePrivilegeCheck.

Rückgabewert

Keine

Bemerkungen

Sie müssen SeCaptureSubjectContextEx aufrufen, bevor Sie Dienste wie die Zugriffsüberprüfung oder das Generieren von Überwachungsmeldungen ausführen. Dies ist erforderlich, um Routinen wie den folgenden einen konsistenten Sicherheitskontext bereitzustellen:

Nachdem die Zugriffsvalidierung, die Berechtigungsprüfung und die Überwachungsgenerierungsdienste ausgeführt wurden, geben Sie den erfassten Kontext so schnell wie möglich frei, indem Sie SeReleaseSubjectContext aufrufen.

SeCaptureSubjectContextEx sperrt Token bei Bedarf, während die Momentaufnahme des Sicherheitskontexts des aufrufenden Threads übernommen wird.

Bei der Rückgabe sind Verweise auf Zugriffstoken in der Struktur enthalten, auf die SubjectContext verweist. Der Inhalt dieser Struktur kann sich ändern. Um dies zu verhindern, rufen Sie SeLockSubjectContext auf, um das primäre Zugriffstoken und alle der Struktur zugeordneten Identitätswechseltoken zu sperren. Wenn Sie beispielsweise Routinen verwenden, die Tokeninformationen mehrmals im gleichen Sicherheitskontext abfragen (z. B. die zuvor aufgeführten), sperren Sie den Betreffkontext mit SeLockSubjectContext , um konsistente Ergebnisse zu erhalten.

Weitere Informationen zur Sicherheit und Zugriffssteuerung finden Sie unter Windows-Sicherheitsmodell für Treiberentwickler und in der Dokumentation zu diesen Themen im Windows SDK.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista
Kopfzeile ntifs.h
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

Weitere Informationen

SECURITY_SUBJECT_CONTEXT

SeLockSubjectContext

SePrivilegeCheck

SeQueryAuthenticationIdToken

SeQueryInformationToken

SeQuerySubjectContextToken

SeReleaseSubjectContext

SeUnlockSubjectContext