共用方式為


SYSTEM_AUDIT_CALLBACK_OBJECT_ACE結構 (winnt.h)

SYSTEM_AUDIT_CALLBACK_OBJECT_ACE 結構會定義系統訪問控制清單訪問控制專案 (ACE) , (SACL) 。 ACE 可以稽核物件或子物件的存取權,例如屬性集或屬性。 ACE 包含一組訪問許可權、識別物件或子物件類型的 GUID,以及識別系統將稽核存取之信任者的安全性識別碼 (SID) 。 ACE 也包含 GUID 和一組可依照子物件控制 ACE 繼承的旗標。

呼叫 AuthzAccessCheck 函式時,透過 AuthzAccessCheck 函式指標傳遞之SECURITY_DESCRIPTOR結構的 DACL 中的每個SYSTEM_AUDIT_CALLBACK_OBJECT_ACE結構都會叫用對應用程式定義 AuthzAccessCheckCallback 函式的呼叫,其中找到之SYSTEM_AUDIT_CALLBACK_OBJECT_ACE結構的指標會在 pAce 參數中傳遞。

語法

typedef struct _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE {
  ACE_HEADER  Header;
  ACCESS_MASK Mask;
  DWORD       Flags;
  GUID        ObjectType;
  GUID        InheritedObjectType;
  DWORD       SidStart;
} SYSTEM_AUDIT_CALLBACK_OBJECT_ACE, *PSYSTEM_AUDIT_CALLBACK_OBJECT_ACE;

成員

Header

ACE_HEADER 結構,指定 ACE 的大小和類型。 它包含旗標,可控制子物件的 ACE 繼承。 結構也包含旗標,指出 ACE 會稽核成功存取嘗試、失敗的存取嘗試,還是兩者。 ACE_HEADER 結構的 AceType 成員應該設定為 SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE,而 AceSize 成員應該設定為配置給SYSTEM_AUDIT_CALLBACK_OBJECT_ACE結構的位元組總數。

Mask

指定系統將稽核信任存取嘗試存取權的ACCESS_MASK

Flags

一組位旗標,指出 ObjectTypeInheritedObjectType 成員是否包含 GUID。 這個成員可以是下列值的組合。 將所有未定義的位設定為零。

意義
ACE_OBJECT_TYPE_PRESENT
ObjectType 成員包含 GUID。
ACE_INHERITED_OBJECT_TYPE_PRESENT
InheritedObjectType 成員包含 GUID。

ObjectType

GUID 結構,識別屬性集、屬性、擴充許可權或子物件的類型。

只有在 Flags 成員中設定ACE_OBJECT_TYPE_PRESENT位時,這個成員才有效。 否則,會忽略 ObjectType

此 GUID 的用途取決於 Mask 成員中指定的訪問許可權。

這個成員可以是下列其中一個值。

意義
ADS_RIGHT_DS_READ_PROP和/或 ADS_RIGHT_DS_WRITE_PROP
ObjectType GUID 會識別對象的屬性集或屬性。 ACE 會控制信任者的嘗試讀取或寫入屬性或屬性集的稽核。
ADS_RIGHT_DS_CONTROL_ACCESS
ObjectType GUID 可識別延伸訪問許可權。
ADS_RIGHT_DS_CREATE_CHILD
ObjectType GUID 會識別子對象的類型。 ACE 會控制信任者的嘗試稽核,以建立這種類型的子物件。
ADS_RIGHT_DS_SELF
ObjectType GUID 會識別已驗證的寫入。

InheritedObjectType

GUID 結構,識別可繼承 ACE 的子物件類型。

只有在 Flags 成員中設定ACE_INHERITED_OBJECT_TYPE_PRESENT位時,這個成員才有效。 如果未設定該位,則會忽略 InheritedObjectType ,而且所有類型的子物件都可以繼承 ACE。 不論是哪一種情況,繼承也會由 ACE_HEADER中的繼承旗標所控制,以及針對子物件上所放置之繼承的任何保護。

SidStart

信任者 SID 的第一個 DWORD 。 SID 的其餘位元組會儲存在 SidStart 成員之後的連續記憶體中。 此 SID 可以附加應用程式資料。

備註

如果未指定 ObjectTypeInheritedObjectType GUID,SYSTEM_AUDIT_CALLBACK_OBJECT_ACE結構具有與SYSTEM_AUDIT_CALLBACK_ACE結構相同的語意。 在此情況下,請使用 SYSTEM_AUDIT_CALLBACK_ACE 結構,因為它較小且更有效率。

包含 SYSTEM_AUDIT_CALLBACK_OBJECT_ACE 結構的 ACL 必須在其 ACE_HEADER結構中 指定ACL_REVISION_DS修訂編號。

建立 SYSTEM_AUDIT_CALLBACK_OBJECT_ACE 結構時,必須配置足夠的記憶體,以容納 ObjectTypeInheritedObjectType 成員中的 GUID 結構,如果其中一個或兩者都存在,以及容納 SidStart 成員中信任項的完整 SID,以及後續連續記憶體。

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限傳統型應用程式]
標頭 winnt.h (包括 Windows.h)

另請參閱

ACL

AddAuditAccessObjectAce

GUID

SID