绑定到对象的父项

在 ADSI 中,每个目录对象均由用于公开 IADs 接口的 ADSI COM 对象表示。 若要获取对象的父容器,请使用 IADs::get_Parent 方法来获取父对象的 ADsPath,然后绑定到父对象的 ADsPath。

以下 C++ 代码示例演示了如何获取某一对象的父项。

HRESULT GetParentObject(IADs *pObject,   // Pointer to the object whose parent to bind to.
                        IADs **ppParent) // Return a pointer to the parent object.
{
    if(NULL == ppParent)
    {
        return E_INVALIDARG;
    }
 
    *ppParent = NULL;

    if(NULL == pObject)
    {
        return E_INVALIDARG;
    }
 
    HRESULT hr;
    BSTR bstr;

    // Get the ADsPath of the parent.
    hr = pObject->get_Parent(&bstr);
    if(SUCCEEDED(hr))
    {
        // Bind to the parent.
        hr = ADsOpenObject(bstr,
             NULL,
             NULL,
             ADS_SECURE_AUTHENTICATION,
             IID_IADs,
             (void**)ppParent);

        SysFreeString(bstr);
    }

    return hr;
}