Directory Services |
In ADSI, every directory object is represented by an ADSI COM object that exposes the IADs interface. To obtain the parent container of an object, use the IADs::get_Parent method to obtain the ADsPath of the parent object, then bind to the ADsPath of the parent.
The following C++ code example shows how to obtain the parent of an object .
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; }