다음을 통해 공유


IADsContainer::get__NewEnum 메서드(iads.h)

IADsContainer::get__NewEnum 메서드 컨테이너에 대한 열거자 개체를 검색합니다. 열거자 개체는 IEnumVARIANT 인터페이스를 구현하여 컨테이너 개체의 자식을 열거합니다.

구문

HRESULT get__NewEnum(
  [out] IUnknown **retval
);

매개 변수

[out] retval

열거자 개체를 수신하는 IUnknown 포인터에 대한 포인터입니다. 호출자는 더 이상 필요하지 않은 경우 이 인터페이스를 해제해야 합니다.

반환 값

이 메서드는 성공적인 작업에 대한 S_OK 포함하여 표준 반환 값을 지원합니다. 오류 코드에 대한 자세한 내용은 ADSI 오류 코드를 참조하세요.

설명

함수 이름에는 "get"과 "NewEnum" 사이에 두 개의 밑줄 문자("__")가 있습니다.

Visual Basic에서 ForEach...를 사용합니다. IADsContainer::get__NewEnum 메서드를 암시적으로 호출하는 문입니다.

C/C++에서 ADsBuildEnumerator, ADsEnumerateNextAdsFreeEnumerator 도우미 함수를 사용합니다.

예제

다음 코드 예제에서는 컨테이너에서 자식 개체를 열거하는 방법을 보여 있습니다.

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

다음 코드 예제에서는 컨테이너에 포함 된 개체를 열거 하는 방법을 보여 있습니다.

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();

요구 사항

   
지원되는 최소 클라이언트 Windows Vista
지원되는 최소 서버 Windows Server 2008
대상 플랫폼 Windows
헤더 iads.h
DLL Activeds.dll

참고 항목

ADsBuildEnumerator

ADsEnumerateNext

AdsFreeEnumerator

IADsContainer

IEnumVARIANT

IUnknown