EXPLICIT_ACCESS_W 结构是在 Win32 API 的 Accctrl.h 头文件中定义的,用于表示对对象的显式访问控制列表 (ACL) 条目,其中“W”表示宽字符集(Unicode)。下面是该结构的定义:
typedef struct _EXPLICIT_ACCESS_W {
  DWORD        grfAccessPermissions;
  ACCESS_MODE  grfAccessMode;
  DWORD        grfInheritance;
  TRUSTEE_W    Trustee;
} EXPLICIT_ACCESS_W, *PEXPLICIT_ACCESS_W, TRUSTEE_ACCESS_W, *PTRUSTEE_ACCESS_W;

这个结构与之前提到的 EXPLICIT_ACCESS_A 结构类似,用于描述 ACL 条目,但是使用了宽字符集。结构的字段包括:

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


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


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


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


TRUSTEE_W 结构的定义如下:
typedef struct _TRUSTEE_W {
  struct _TRUSTEE_W *pMultipleTrustee;
  MULTIPLE_TRUSTEE_OPERATION MultipleTrusteeOperation;
  TRUSTEE_FORM TrusteeForm;
  TRUSTEE_TYPE TrusteeType;
  LPWSTR ptstrName;
} TRUSTEE_W, *PTRUSTEE_W;

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

如果你的应用程序使用 Unicode 字符集,建议使用 EXPLICIT_ACCESS_W 结构。


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