EXPLICIT_ACCESS_A 結構 (accctrl.h)

EXPLICIT_ACCESS結構會定義指定信任項的訪問控制資訊。 訪問控制函式,例如 SetEntriesInAclGetExplicitEntriesFromAcl,使用此結構來描述 訪問控制專案 (ACE) 存取控制 清單 的資訊, (ACL) 。

語法

typedef struct _EXPLICIT_ACCESS_A {
  DWORD       grfAccessPermissions;
  ACCESS_MODE grfAccessMode;
  DWORD       grfInheritance;
  TRUSTEE_A   Trustee;
} EXPLICIT_ACCESS_A, *PEXPLICIT_ACCESS_A, EXPLICIT_ACCESSA, *PEXPLICIT_ACCESSA;

成員

grfAccessPermissions

一組使用 ACCESS_MASK 格式的位旗標,指定 ACE 允許、拒絕或稽核信任者的訪問許可權。 使用 EXPLICIT_ACCESS 結構的函式不會轉換、解譯或驗證此遮罩中的位。

grfAccessMode

來自 ACCESS_MODE 列舉的值。 對於 DACL) (選擇性存取控制清單 ,此旗標會指出 ACL 是否允許或拒絕指定的訪問許可權。 對於 系統訪問控制清單 (SACL) ,此旗標會指出 ACL 是否產生稽核訊息,以成功嘗試使用指定的訪問許可權,或嘗試失敗,或兩者。 修改現有的 ACL 時,您可以指定 REVOKE_ACCESS 旗標,以移除指定信任項的任何現有 ACE。

grfInheritance

一組位旗標,決定其他容器或物件是否可以從附加 ACL 的主要物件繼承 ACE。 這個成員的值會對應至ACE_HEADER結構之AceFlags 成員 (低序位元組) 的繼承部分。 這個參數可以NO_INHERITANCE,以指出 ACE 不可繼承;或它可以是下列值的組合。

意義
CONTAINER_INHERIT_ACE
主要物件所包含的其他容器會繼承 ACE。
INHERIT_NO_PROPAGATE
繼承但不會傳播。
INHERIT_ONLY
僅繼承。
INHERIT_ONLY_ACE
ACE 不適用於附加 ACL 的主要物件,但主要物件所包含的物件會繼承 ACE。
NO_INHERITANCE
請勿繼承。
NO_PROPAGATE_INHERIT_ACE
OBJECT_INHERIT_ACE和CONTAINER_INHERIT_ACE旗標不會傳播至繼承的 ACE。
OBJECT_INHERIT_ACE
主要物件所包含的非容器物件會繼承 ACE。
SUB_CONTAINERS_AND_OBJECTS_INHERIT
主要物件所包含的容器和非容器對象都會繼承 ACE。 此旗標會對應至CONTAINER_INHERIT_ACE和OBJECT_INHERIT_ACE旗標的組合。
SUB_CONTAINERS_ONLY_INHERIT
主要物件所包含的其他容器會繼承 ACE。 此旗標會對應至CONTAINER_INHERIT_ACE旗標。
SUB_OBJECTS_ONLY_INHERIT
主要物件所包含的非容器物件會繼承 ACE。 此旗標會對應至OBJECT_INHERIT_ACE旗標。

Trustee

可識別使用者、群組或程式 (例如 ACE 所套用之 Windows 服務) 的一個 TRUSTEE 結構。

備註

注意

accctrl.h 標頭會將EXPLICIT_ACCESS_定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
標頭 accctrl.h

另請參閱

ACCESS_MASK

ACCESS_MODE

Ace

ACE_HEADER

ACL

BuildExplicitAccessWithName

BuildSecurityDescriptor

GetExplicitEntriesFromAcl

LookupSecurityDescriptorParts

SetEntriesInAcl

受託 人