EXPLICIT_ACCESS_A 结构是在 Win32 API 的 Accctrl.h 头文件中定义的,用于表示对对象的显式访问控制列表 (ACL) 条目。下面是该结构的定义:
typedef struct _EXPLICIT_ACCESS_A {
  DWORD        grfAccessPermissions;
  ACCESS_MODE  grfAccessMode;
  DWORD        grfInheritance;
  TRUSTEE_A    Trustee;
} EXPLICIT_ACCESS_A, *PEXPLICIT_ACCESS_A, TRUSTEE_ACCESS_A, *PTRUSTEE_ACCESS_A;

这个结构包含以下字段:

  •  grfAccessPermissions:表示允许或拒绝的访问权限。这是一个组合值,可以包含多个权限标志,如 GENERIC_READ、GENERIC_WRITE 等。


  •  grfAccessMode:指定 grfAccessPermissions 的意义,是允许还是拒绝。可能的值为 GRANT_ACCESS 或 DENY_ACCESS。


  •  grfInheritance:指定 ACL 条目如何被继承到子对象。这是一个组合值,可以包含 OBJECT_INHERIT_ACE、CONTAINER_INHERIT_ACE 等标志。


  •  Trustee:一个 TRUSTEE_A 结构,表示 ACE 条目的受信任实体(用户或组)。


TRUSTEE_A 结构的定义如下:
typedef struct _TRUSTEE_A {
  struct _TRUSTEE_A *pMultipleTrustee;
  MULTIPLE_TRUSTEE_OPERATION MultipleTrusteeOperation;
  TRUSTEE_FORM TrusteeForm;
  TRUSTEE_TYPE TrusteeType;
  LPSTR ptstrName;
} TRUSTEE_A, *PTRUSTEE_A;

这个结构包含了关于 ACE 条目受信任实体的信息,包括实体的名称和类型。

如果你的应用程序使用 ANSI 字符集,建议使用 EXPLICIT_ACCESS_A 结构。如果使用 Unicode 字符集,可以使用 EXPLICIT_ACCESS_W 结构,其中结尾的“W”表示宽字符集。


转载请注明出处:http://www.zyzy.cn/article/detail/23743/Win32 API/Accctrl.h/EXPLICIT_ACCESS_A