ACCESS_STATE 結構 (wdm.h)
ACCESS_STATE 結構描述進行中的存取狀態。 它包含對象的主體內容、剩餘所需的存取類型、授與的存取類型,以及選擇性地指定用來允許存取的許可權集。
驅動程式不會直接修改ACCESS_STATE結構。 若要建立及操作此結構,請使用一節中列出的支援例程。
語法
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;
成員
OperationID
此存取權所關聯之作業的標識碼。 此成員會由 AuxData 成員中的 TransactionId 取代,目前由驅動程式使用。
SecurityEvaluated
布爾值,指定安全性是否評估為存取檢查的一部分。 驅動程式目前未使用這個成員。
GenerateAudit
布爾值,指定存取權是否應該產生稽核。 驅動程式目前未使用這個成員。
GenerateOnClose
布爾值,指定建立句柄關閉時是否應該產生稽核。 驅動程式目前未使用這個成員。
PrivilegesAllocated
布爾值,指定是否將許可權配置為存取檢查的一部分。 驅動程式目前未使用這個成員。
Flags
包含存取之位欄位字段旗標的 32 位值。 驅動程式可以檢查周遊存取旗標 (TOKEN_HAS_TRAVERSE_PRIVILEGE) 。 如需如何檢查周遊存取的詳細資訊,請參閱 檢查IRP_MJ_CREATE周遊許可權。 驅動程式也可以檢查TOKEN_IS_RESTRICTED旗標。 這些旗標定義於 Ntifs.h 中。
RemainingDesiredAccess
描述尚未授與呼叫端訪問許可權 的ACCESS_MASK 類型。 驅動程式會使用此成員來判斷 Windows 安全性系統是否可以授與存取權。 如果可以授與存取權,驅動程式會據 以更新 PreviouslyGrantedAccess 和 RemainingDesiredAccess 成員。
PreviouslyGrantedAccess
ACCESS_MASK類型,指定已授與其中一個安全性參考監視器例程之呼叫者存取權的相關信息。 Windows 安全性系統會根據呼叫者的許可權授與特定許可權,例如周遊許可權, (開啟子目錄或檔案) 時周遊目錄的能力。
OriginalDesiredAccess
ACCESS_MASK類型,其中包含呼叫端所要求的原始訪問許可權。
SubjectSecurityContext
SECURITY_SUBJECT_CONTEXT 結構,其中包含用來驗證和稽核存取之主體安全性內容的相關信息。
SecurityDescriptor
SECURITY_DESCRIPTOR 結構的指標,其中包含此存取所關聯之對象的安全性資訊。
AuxData
記憶體區塊的指標,其中包含存取的輔助數據。
Privileges
可以包含下列其中一個結構的等位。 這個聯集可讓三個許可權內嵌在存取狀態結構中。 如果在作業期間需要更多許可權,則會在 AuxData 成員延伸模組中配置這些許可權。 驅動程式目前未使用這個成員。
Privileges.InitialPrivilegeSet
INITIAL_PRIVILEGE_SET 結構,指定存取權的初始許可權集。
Privileges.PrivilegeSet
指定一組存取許可權 的PRIVILEGE_SET 結構。
AuditPrivileges
布爾值,指定是否應該稽核許可權使用方式。 驅動程式目前未使用這個成員。
ObjectName
包含存取物件名稱字串 的UNICODE_STRING 結構。 此成員用於稽核。
ObjectTypeName
包含存取物件類型名稱字串 的UNICODE_STRING 結構。 此成員用於稽核。
規格需求
需求 | 值 |
---|---|
標頭 | wdm.h (包含 Ntifs.h) |
另請參閱
SeOpenObjectForDeleteAuditAlarm