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 错误代码。 服务器返回这些值,但客户端必须始终检查输出参数,以确保它们包含有效值。 有关详细信息,请参阅 检查 I 可访问的返回值

错误 说明
S_FALSE
子级不是可访问的对象。
E_INVALIDARG
自变量无效。

注解

服务器将元素公开为元素 (子 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

另请参阅

AccessibleChildren

IAccessible

IAccessible::get_accParent

IDispatch

对象导航属性和方法

VARIANT