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 | 调用 ExitWindows 或 ExitWindowsEx |
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | iaccess.h |