IAccessible::get_accChild 方法 (oleacc.h)
IAccessible::get_accChild 方法检索指定子项的 IDispatch(如果存在)。 所有对象都必须支持此属性。
语法
HRESULT get_accChild(
[in] VARIANT varChild,
[out, retval] IDispatch **ppdispChild
);
参数
[in] varChild
类型: VARIANT
标识检索其 IDispatch 接口的子级。 有关初始化 VARIANT 的详细信息,请参阅 参数中如何使用子 ID。
[out, retval] ppdispChild
类型: IDispatch**
[out, retval]接收子对象的 IDispatch 接口的地址。
返回值
类型: HRESULT
如果成功,则返回 S_OK。
如果未成功,则返回下表中的一个值,或返回另一个标准 COM 错误代码。 服务器返回这些值,但客户端必须始终检查输出参数,以确保它们包含有效值。 有关详细信息,请参阅 检查 IAccessible 返回值。
错误 | 描述 |
---|---|
|
子对象不可访问。 |
|
自变量无效。 |
注解
服务器将元素公开为 (子 ID 的元素) 或完整对象, (IAccessible 接口指针) 。 如果子级是元素, 则get_accChild 返回S_FALSE,父级将提供该子级的信息。 如果子级是完整对象, get_accChild 将返回 IAccessible 接口指针,父级不会提供有关该子级的信息。 如果 get_accChild 失败,因为服务器应用程序由于临时系统错误 ((如内存不足错误) )而无法创建可访问对象,则服务器应返回合适的故障代码。
记下服务器开发人员: 如果 varChildID 包含VT_EMPTY,则应返回E_INVALIDARG。
服务器示例
以下示例代码显示了一个对象实现,该对象没有任何子级,或者其子级是元素而不是对象。
HRESULT STDMETHODCALLTYPE AccServer::get_accChild(
VARIANT varChild,
IDispatch **ppdispChild)
{
if (varChild.vt != VT_I4)
{
*ppdispChild = NULL;
return E_INVALIDARG;
}
*ppdispChild = NULL;
return S_FALSE;
};
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | oleacc.h |
Library | Oleacc.lib |
DLL | Oleacc.dll |
可再发行组件 | 使用 SP6 及更高版本和 Windows 95 Windows NT 4.0 上的活动辅助功能 1.3 RDK |