Metodo IADsContainer::get__NewEnum (iads.h)
Il metodo IADsContainer::get__NewEnum Recupera un oggetto enumeratore per il contenitore. L'oggetto enumeratore implementa l'interfaccia IEnumVARIANT per enumerare gli elementi figlio dell'oggetto contenitore.
Sintassi
HRESULT get__NewEnum(
[out] IUnknown **retval
);
Parametri
[out] retval
Puntatore a un puntatore IUnknown che riceve l'oggetto enumeratore. Il chiamante deve rilasciare questa interfaccia quando non è più necessaria.
Valore restituito
Questo metodo supporta i valori restituiti standard, inclusi S_OK per un'operazione riuscita. Per altre informazioni sui codici di errore, vedere Codici di errore ADSI.
Commenti
Esistono due caratteri di sottolineatura ("__") nel nome della funzione tra "get" e "NewEnum".
In Visual Basic usare ForEach... istruzione per richiamare il metodo IADsContainer::get__NewEnum in modo implicito.
In C/C++usare le funzioni helpererator ADsBuildEnumerator, ADsEnumerateNext e AdsFreeEnumerator .
Esempio
Nell'esempio di codice seguente viene illustrato come enumerare oggetti figlio in un contenitore.
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
Nell'esempio di codice seguente viene illustrato come enumerare l'oggetto contenuto in un contenitore.
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();
Requisiti
Client minimo supportato | Windows Vista |
Server minimo supportato | Windows Server 2008 |
Piattaforma di destinazione | Windows |
Intestazione | iads.h |
DLL | Activeds.dll |