在 Win32 API 的 Authz.h 头文件中,AUTHZ_ACCESS_REQUEST 结构用于在 AuthzAccessCheck 函数中指定有关访问请求的信息。这个结构的定义通常包括以下成员:
typedef struct _AUTHZ_ACCESS_REQUEST {
  ACCESS_MASK DesiredAccess;
  PSECURITY_DESCRIPTOR PrincipalSelfSid;
  OBJECT_TYPE_LIST ObjectTypeList[1];
  DWORD ObjectTypeListLength;
  PSID         OptionalArguments;
} AUTHZ_ACCESS_REQUEST, *PAUTHZ_ACCESS_REQUEST;

成员说明:
  •  DesiredAccess: 请求的访问掩码,表示对资源的所需操作。

  •  PrincipalSelfSid: 一个安全标识符(SID),表示操作发起者的标识。通常用于自我标识。

  •  ObjectTypeList: 一个 OBJECT_TYPE_LIST 数组,用于指定访问请求的对象类型。每个 OBJECT_TYPE_LIST 结构包括一个对象类型(ObjectType)和一个与该类型相关的访问掩码(InheritedObjectType)。

  •  ObjectTypeListLength: ObjectTypeList 数组的长度。

  •  OptionalArguments: 可选参数,可传递给回调函数。


OBJECT_TYPE_LIST 结构的定义通常如下:
typedef struct _OBJECT_TYPE_LIST {
  WORD                    Level;
  PWSTR                   Sbz;
  GUID                    *ObjectType;
} OBJECT_TYPE_LIST, *POBJECT_TYPE_LIST;

成员说明:
  •  Level: 结构的级别,通常为 1。

  •  Sbz: 保留字段。

  •  ObjectType: 一个表示对象类型的 GUID。


这个结构用于描述访问请求的属性,以便进行访问检查。

请注意,这只是一个简要的说明。在实际使用时,您可能需要查阅相关的 Microsoft 文档或其他资源以获取更详细的信息和示例代码。


转载请注明出处:http://www.zyzy.cn/article/detail/23943/Win32 API/Authz.h/AUTHZ_ACCESS_REQUEST