ACCESS_STATE-Struktur (wdm.h)
Die ACCESS_STATE-Struktur beschreibt den Status eines laufenden Zugriffs. Es enthält den Betreffkontext eines Objekts, die verbleibenden gewünschten Zugriffstypen, gewährte Zugriffstypen und optional einen Berechtigungssatz, der angibt, welche Berechtigungen zum Zulassen des Zugriffs verwendet wurden.
Treiber sollen die ACCESS_STATE-Struktur nicht direkt ändern. Verwenden Sie zum Erstellen und Bearbeiten dieser Struktur die im Abschnitt Siehe auch aufgeführten Supportroutinen.
Syntax
typedef struct _ACCESS_STATE {
LUID OperationID;
BOOLEAN SecurityEvaluated;
BOOLEAN GenerateAudit;
BOOLEAN GenerateOnClose;
BOOLEAN PrivilegesAllocated;
ULONG Flags;
ACCESS_MASK RemainingDesiredAccess;
ACCESS_MASK PreviouslyGrantedAccess;
ACCESS_MASK OriginalDesiredAccess;
SECURITY_SUBJECT_CONTEXT SubjectSecurityContext;
PSECURITY_DESCRIPTOR SecurityDescriptor;
PVOID AuxData;
union {
INITIAL_PRIVILEGE_SET InitialPrivilegeSet;
PRIVILEGE_SET PrivilegeSet;
} Privileges;
BOOLEAN AuditPrivileges;
UNICODE_STRING ObjectName;
UNICODE_STRING ObjectTypeName;
} ACCESS_STATE, *PACCESS_STATE;
Member
OperationID
Der Bezeichner des Vorgangs, auf den sich dieser Zugriff bezieht. Dieses Element wird im AuxData-Member durch TransactionId ersetzt und wird derzeit von Treibern nicht verwendet.
SecurityEvaluated
Ein boolescher Wert, der angibt, ob die Sicherheit im Rahmen der Zugriffsüberprüfung ausgewertet wurde. Dieses Element wird derzeit von Treibern nicht verwendet.
GenerateAudit
Ein boolescher Wert, der angibt, ob der Zugriff eine Überwachung generieren soll. Dieses Element wird derzeit von Treibern nicht verwendet.
GenerateOnClose
Ein boolescher Wert, der angibt, ob eine Überwachung generiert werden soll, wenn das zu erstellende Handle geschlossen wird. Dieses Element wird derzeit von Treibern nicht verwendet.
PrivilegesAllocated
Ein boolescher Wert, der angibt, ob Berechtigungen im Rahmen der Zugriffsüberprüfung zugewiesen wurden. Dieses Element wird derzeit von Treibern nicht verwendet.
Flags
Ein 32-Bit-Wert, der Bitfeldflags für den Zugriff enthält. Ein Treiber kann das Traverse-Zugriffsflag (TOKEN_HAS_TRAVERSE_PRIVILEGE) überprüfen. Weitere Informationen zum Überprüfen des Durchlaufzugriffs finden Sie unter Überprüfen auf Traverse-Berechtigungen auf IRP_MJ_CREATE. Ein Treiber kann auch nach dem TOKEN_IS_RESTRICTED-Flag suchen. Diese Flags sind in Ntifs.h definiert.
RemainingDesiredAccess
Ein ACCESS_MASK Typ, der die Zugriffsrechte beschreibt, die dem Aufrufer noch nicht erteilt wurden. Ein Treiber verwendet dieses Element, um zu bestimmen, ob das Windows-Sicherheitssystem Zugriff gewähren kann. Wenn zugriff gewährt werden kann, aktualisiert der Treiber die Member PreviouslyGrantedAccess und RemainingDesiredAccess entsprechend.
PreviouslyGrantedAccess
Ein ACCESS_MASK Typ, der die Informationen über den Zugriff angibt, der dem Aufrufer einer der Sicherheitsreferenzmonitorroutinen bereits gewährt wurde. Das Windows-Sicherheitssystem gewährt bestimmte Rechte basierend auf den Berechtigungen des Aufrufers, z. B. das Recht durchlaufen (die Möglichkeit, ein Verzeichnis beim Öffnen eines Unterverzeichnisses oder einer Datei zu durchlaufen).
OriginalDesiredAccess
Ein ACCESS_MASK Typ, der die ursprünglichen Zugriffsrechte enthält, die vom Aufrufer angefordert wurden.
SubjectSecurityContext
Eine SECURITY_SUBJECT_CONTEXT-Struktur , die Informationen zum Sicherheitskontext des Antragstellers enthält, der zum Überprüfen und Überwachen des Zugriffs verwendet wird.
SecurityDescriptor
Ein Zeiger auf eine SECURITY_DESCRIPTOR-Struktur , die Sicherheitsinformationen für das Objekt enthält, auf das sich dieser Zugriff bezieht.
AuxData
Ein Zeiger auf einen Speicherblock, der Hilfsdaten für den Zugriff enthält.
Privileges
Eine Union, die eine der folgenden Strukturen enthalten kann. Mit dieser Union können drei Berechtigungen in die Zugriffsstatusstruktur eingebettet werden. Wenn während des Vorgangs weitere Berechtigungen erforderlich sind, werden diese in der AuxData-Membererweiterung zugewiesen. Dieses Element wird derzeit von Treibern nicht verwendet.
Privileges.InitialPrivilegeSet
Eine INITIAL_PRIVILEGE_SET-Struktur , die einen Satz von anfänglichen Berechtigungen für den Zugriff angibt.
Privileges.PrivilegeSet
Eine PRIVILEGE_SET-Struktur , die einen Satz von Berechtigungen für den Zugriff angibt.
AuditPrivileges
Ein boolescher Wert, der angibt, ob eine Berechtigungsnutzung überwacht werden soll. Dieses Element wird derzeit von Treibern nicht verwendet.
ObjectName
Eine UNICODE_STRING-Struktur , die die Objektnamenzeichenfolge für den Zugriff enthält. Dieses Element wird für die Überwachung verwendet.
ObjectTypeName
Eine UNICODE_STRING-Struktur , die die Objekttypnamenszeichenfolge für den Zugriff enthält. Dieses Element wird für die Überwachung verwendet.
Anforderungen
Anforderung | Wert |
---|---|
Header | wdm.h (include Ntifs.h) |
Weitere Informationen
SeOpenObjectForDeleteAuditAlarm