IAccessible::get_accChild 方法 (oleacc.h)
如果指定子系存在, IAccessible::get_accChild 方法會擷取指定的子系的 IDispatch 。 所有物件都必須支援這個屬性。
語法
HRESULT get_accChild(
[in] VARIANT varChild,
[out, retval] IDispatch **ppdispChild
);
參數
[in] varChild
類型: VARIANT
識別擷取 其 IDispatch 介面的子系。 如需初始化 VARIANT 的詳細資訊,請參閱 如何在參數中使用子標識碼。
[out, retval] ppdispChild
類型: IDispatch**
[out, retval]接收子物件的 IDispatch 介面位址。
傳回值
類型: HRESULT
如果成功,則傳回 S_OK。
如果未成功,則會傳回下表中的其中一個值,或另一個標準 COM 錯誤碼。 伺服器會傳回這些值,但客戶端必須一律檢查輸出參數,以確保它們包含有效的值。 如需詳細資訊,請參閱 檢查 IAccessible 傳回值。
錯誤 | Description |
---|---|
|
子系不是可存取的物件。 |
|
引數無效。 |
備註
伺服器會將專案公開為子標識碼 () 或完整物件, (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 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | oleacc.h |
程式庫 | Oleacc.lib |
Dll | Oleacc.dll |
可轉散發套件 | sp6 和更新版本和 Windows 95 Windows NT 4.0 上的 Active Accessibility 1.3 RDK |