IADsContainer::get__NewEnum méthode (iads.h)
La méthode IADsContainer::get__NewEnum Récupère un objet énumérateur pour le conteneur. L’objet énumérateur implémente l’interface IEnumVARIANT pour énumérer les enfants de l’objet conteneur.
Syntaxe
HRESULT get__NewEnum(
[out] IUnknown **retval
);
Paramètres
[out] retval
Pointeur vers un pointeur IUnknown qui reçoit l’objet énumérateur. L’appelant doit libérer cette interface quand elle n’est plus nécessaire.
Valeur retournée
Cette méthode prend en charge les valeurs de retour standard, y compris les S_OK pour une opération réussie. Pour plus d’informations sur les codes d’erreur, consultez Codes d’erreur ADSI.
Notes
Le nom de la fonction comporte deux traits de soulignement (« __ ») entre « get » et « NewEnum ».
En Visual Basic, utilisez ForEach... pour appeler implicitement la méthode IADsContainer::get__NewEnum .
En C/C++, utilisez les fonctions d’assistance ADsBuildEnumerator, ADsEnumerateNext et AdsFreeEnumerator .
Exemples
L’exemple de code suivant montre comment énumérer des objets enfants dans un conteneur.
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
L’exemple de code suivant montre comment énumérer l’objet contenu dans un conteneur.
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();
Configuration requise
Client minimal pris en charge | Windows Vista |
Serveur minimal pris en charge | Windows Server 2008 |
Plateforme cible | Windows |
En-tête | iads.h |
DLL | Activeds.dll |