Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 |