IAccessControl::IsAccessAllowed 方法 (iaccess.h)

确定指定的受信人是否对对象或属性具有访问权限。

语法

HRESULT IsAccessAllowed(
  [in]  PTRUSTEEW     pTrustee,
  [in]  LPWSTR        lpProperty,
  [in]  ACCESS_RIGHTS AccessRights,
  [out] BOOL          *pfAccessAllowed
);

参数

[in] pTrustee

指向 TRUSTEE 结构的指针。

[in] lpProperty

属性的名称。 如果使用 IAccessControl 的 COM 实现,则此参数必须为 NULL

[in] AccessRights

对象的访问权限。 如果使用 IAccessControl 的 COM 实现,则此值必须为 0 或 1 (COM_RIGHTS_EXECUTE) 。

[out] pfAccessAllowed

指示是否允许访问。

返回值

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

系统提供的 IAccessControl (CLSID_DCOMAccessControl) 实现中,只能在分布式 COM 调用期间调用 IsAccessAllowed ,并且唯一有效的受信人名称是客户端的名称。

下表列出了用于 IAccessControl 的目录服务和存储实现的对象特定访问权限。

以下权限特定于 DS 对象。

访问权限 说明
ACTRL_DS_OPEN 打开 DS 对象
ACTRL_DS_CREATE_CHILD 创建子对象
ACTRL_DS_DELETE_CHILD 删除子对象
ACTRL_DS_LIST 枚举对象
ACTRL_DS_SELF 更新涉及受托人的成员列表
ACTRL_DS_READ_PROP 读取属性
ACTRL_DS_WRITE_PROP 写入属性
 

以下权限特定于文件对象。

访问权限 说明
ACTRL_FILE_READ 从文件中读取
ACTRL_FILE_WRITE 写入文件
ACTRL_FILE_APPEND 附加到文件
ACTRL_FILE_READ_PROP 读取文件属性或扩展属性
ACTRL_FILE_WRITE_PROP 写入文件属性或扩展属性
ACTRL_FILE_EXECUTE 执行文件
ACTRL_FILE_READ_ATTRIB 读取文件属性
ACTRL_FILE_WRITE_ATTRIB 写入文件属性
 

以下权限特定于目录对象。

访问权限 说明
ACTRL_DIR_LIST 列出目录的内容
ACTRL_DIR_CREATE_OBJECT 在目录中创建子对象 (文件)
ACTRL_DIR_CREATE_CHILD 创建子目录
ACTRL_DIR_DELETE_CHILD 删除子目录
ACTRL_DIR_TRAVERSE 遍历目录
 

以下权限特定于内核对象。

访问权限 说明
ACTRL_KERNEL_TERMINATE 终止进程或线程
ACTRL_KERNEL_THREAD 创建线程
ACTRL_KERNEL_VM 执行地址空间操作
ACTRL_KERNEL_VM_READ 从内存中读取
ACTRL_KERNEL_VM_WRITE 写入内存
ACTRL_KERNEL_DUP_HANDLE 复制句柄
ACTRL_KERNEL_PROCESS 创建流程
ACTRL_KERNEL_SET_INFO 获取内核对象信息或状态
ACTRL_KERNEL_GET_INFO 设置内核对象信息或状态
ACTRL_KERNEL_CONTROL 控制内核对象 (,例如挂起线程)
ACTRL_KERNEL_ALERT 向内核对象发出警报。
ACTRL_KERNEL_GET_CONTEXT 获取线程上下文
ACTRL_KERNEL_SET_CONTEXT 设置线程上下文
ACTRL_KERNEL_TOKEN 设置线程令牌
ACTRL_KERNEL_IMPERSONATE 模拟客户端
ACTRL_KERNEL_DIMPERSONATE 直接模拟客户端
 

以下权限特定于打印机对象。

访问权限 说明
ACTRL_PRINT_SADMIN 管理打印服务器
ACTRL_PRINT_SLIST 枚举打印服务器
ACTRL_PRINT_PADMIN 管理打印机
ACTRL_PRINT_PUSE 使用打印机
ACTRL_PRINT_JADMIN 管理打印作业
 

以下权限特定于服务对象。

访问权限 说明
ACTRL_SVC_GET_INFO 启动服务
ACTRL_SVC_SET_INFO 停止服务
ACTRL_SVC_STATUS 暂停服务
ACTRL_SVC_LIST 枚举服务
ACTRL_SVC_START 启动服务
ACTRL_SVC_STOP 停止服务
ACTRL_SVC_PAUSE 暂停服务
ACTRL_SVC_INTERROGATE 查询服务的当前状态
ACTRL_SVC_UCONTROL 用户定义的控件
 

以下权限特定于注册表对象。

访问权限 说明
ACTRL_REG_QUERY 读取注册表子项
ACTRL_REG_SET 编写注册表子项
ACTRL_REG_CREATE_CHILD 创建注册表子项
ACTRL_REG_LIST 枚举注册表子项
ACTRL_REG_NOTIFY 创建注册表通知
ACTRL_REG_LINK 创建符号链接
 

以下权限特定于窗口对象。

访问权限 说明
ACTRL_WIN_CLIPBRD 启用对剪贴板的访问
ACTRL_WIN_GLOBAL_ATOMS 启用全局原子访问
ACTRL_WIN_CREATE 创建桌面访问
ACTRL_WIN_LIST_DESK 枚举桌面
ACTRL_WIN_LIST 枚举窗口工作站
ACTRL_WIN_READ_ATTRIBS 读取属性
ACTRL_WIN_WRITE_ATTRIBS 写入属性
ACTRL_WIN_SCREEN 启用对屏幕的访问
ACTRL_WIN_EXIT 调用 ExitWindowsExitWindowsEx

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 iaccess.h

另请参阅

IAccessControl