createStdAccessibleProxyW 函数 (oleacc.h)

创建一个可访问对象,该对象具有系统提供的用户界面元素的指定类的属性和方法。

语法

HRESULT CreateStdAccessibleProxyW(
  [in]  HWND    hwnd,
  [in]  LPCWSTR pClassName,
  [in]  LONG    idObject,
  [in]  REFIID  riid,
  [out] void    **ppvObject
);

参数

[in] hwnd

类型: HWND

系统提供的用户界面元素的窗口句柄 (为其创建可访问对象的控件) 。

[in] pClassName

类型: LPCTSTR

指向系统提供的用户界面元素(为其创建可访问对象)的类名以 null 结尾的字符串的指针。 窗口类名称是 (Comctl32.dll) 中定义的常见控件之一,预定义控件 (User32.dll) 或窗口元素中定义。

[in] idObject

类型: LONG

对象 ID。 此值通常是 OBJID_CLIENT,它是对象标识符常量之一,但它可能是另一个对象标识符。

[in] riid

类型: REFIID

所请求接口的引用标识符。 此值为下列值之一:IID_IAccessible、IID_IDispatch、IID_IEnumVARIANT或IID_IUnknown。

[out] ppvObject

类型: void**

接收指定接口地址的指针变量的地址。

返回值

类型: STDAPI

如果成功,则返回 S_OK。

如果未成功,则返回标准 COM 错误代码

注解

服务器应用程序在包含类似于系统提供的控件的自定义控件时调用此函数。 服务器应用程序可以调用 CreateStdAccessibleProxy ,以根据需要替代 IAccessible 方法和属性,以匹配其自定义控件。 或者,服务器开发人员可以使用动态注释来替代特定属性,而无需使用 CreateStdAccessibleProxy 所需的困难子类化技术。 服务器开发人员仍应使用 CreateStdAccessibleProxy 进行结构更改,例如隐藏子元素或创建占位符子元素。 此方法可节省服务器开发人员完全实现所有 IAccessible 属性和方法的工作。

此函数类似于 CreateStdAccessibleObject,只不过 CreateStdAccessibleObject 始终使用与 hwnd 关联的类名,而 CreateStdAccessibleProxy 则允许将类名指定为参数。

使用 CreateStdAccessibleProxy 为超类用户界面元素创建可访问对象。 当用户界面元素被超类化时,应用程序会创建一个自定义控件,该控件的窗口类名称不同于它所基于的预定义控件。 由于与 hwnd 参数关联的类名是超类窗口类名称,因此请在 pszClassName 中指定) 超类控件所基于的系统类名称 (基类名称。

注意

oleacc.h 标头将 CreateStdAccessibleProxy 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 oleacc.h
Library Oleacc.lib
DLL Oleacc.dll
可再发行组件 具有 SP6 及更高版本和 Windows 95 的 Windows NT 4.0 上的 Active Accessibility 1.3 RDK

另请参阅

附录 A:支持的用户界面元素参考

CreateStdAccessibleObject

IDispatch

用于公开自定义用户界面元素的快捷方式