IADsContainer::get__NewEnum-Methode (iads.h)
Die IADsContainer::get__NewEnum-Methode Ruft ein Enumeratorobjekt für den Container ab. Das Enumeratorobjekt implementiert die IEnumVARIANT-Schnittstelle , um die untergeordneten Elemente des Containerobjekts aufzulisten.
Syntax
HRESULT get__NewEnum(
[out] IUnknown **retval
);
Parameter
[out] retval
Zeiger auf einen IUnknown-Zeiger , der das Enumeratorobjekt empfängt. Der Aufrufer muss diese Schnittstelle freigeben, wenn sie nicht mehr benötigt wird.
Rückgabewert
Diese Methode unterstützt die Standardrückgabewerte, einschließlich S_OK für einen erfolgreichen Vorgang. Weitere Informationen zu Fehlercodes finden Sie unter ADSI-Fehlercodes.
Hinweise
Der Funktionsname enthält zwei Unterstriche ("__") zwischen "get" und "NewEnum".
Verwenden Sie in Visual Basic die ForEach... -Anweisung, um die IADsContainer::get__NewEnum-Methode implizit aufzurufen.
Verwenden Sie in C/C++ die Hilfsfunktionen ADsBuildEnumerator, ADsEnumerateNext und AdsFreeEnumerator .
Beispiele
Im folgenden Codebeispiel wird gezeigt, wie untergeordnete Objekte in einem Container aufgezählt werden.
Dim cont As IADsContainer
On Error GoTo Cleanup
Set cont = GetObject("LDAP://OU=Sales,DC=Fabrikam,DC=com")
For Each obj In cont
Debug.Print obj.Name
Next
Cleanup:
If(Err.Number<>0) Then
MsgBox("An error has occurred. " & Err.Number)
End If
Set cont = Nothing
Im folgenden Codebeispiel wird gezeigt, wie sie das in einem Container enthaltene Objekt auflisten.
IEnumVARIANT *pEnum = NULL;
IADsContainer *pCont = NULL;
LPUNKNOWN pUnk = NULL;
VARIANT var;
IDispatch *pDisp = NULL;
ulong lFetch;
IADs *pADs = NULL;
// In this sample, skip error checking.
ADsGetObject(L"LDAP://OU=Sales,DC=Fabrikam,DC=COM",
IID_IADsContainer, (void**) &pCont);
pCont->get__NewEnum(&pUnk);
pCont->Release();
pUnk->QueryInterface(IID_IEnumVARIANT, (void**) &pEnum);
pUnk->Release();
// Enumerate.
HRESULT hr = pEnum->Next(1, &var, &lFetch);
while(SUCCEEDED(hr) && lFetch > 0)
{
if (lFetch == 1)
{
BSTR bstr;
pDisp = V_DISPATCH(&var);
pDisp->QueryInterface(IID_IADs, (void**)&pADs);
pDisp->Release();
hr = pADs->get_Name(&bstr);
if(SUCCEEDED(hr))
{
SysFreeString(bstr);
}
pADs->Release();
}
VariantClear(&var);
hr = pEnum->Next(1, &var, &lFetch);
};
pEnum->Release();
Anforderungen
Unterstützte Mindestversion (Client) | Windows Vista |
Unterstützte Mindestversion (Server) | Windows Server 2008 |
Zielplattform | Windows |
Kopfzeile | iads.h |
DLL | Activeds.dll |