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 |