다음을 통해 공유


IADsCollection::GetObject 메서드(iads.h)

IADsCollection::GetObject 메서드는 컬렉션의 항목을 검색합니다.

구문

HRESULT GetObject(
  [in] BSTR    bstrName,
  [in] VARIANT *pvItem
);

매개 변수

[in] bstrName

항목의 이름을 지정하는 null로 끝나는 유니코드 문자열입니다. 항목이 컬렉션에 추가될 때 IADsCollection::Add 에 전달된 이름과 동일합니다.

[in] pvItem

항목의 현재 값입니다. 개체의 경우 개체의 IDispatch 인터페이스 포인터에 해당합니다.

반환 값

이 메서드는 S_OK 포함하여 표준 반환 값을 지원합니다. 자세한 내용 및 기타 반환 값은 ADSI 오류 코드를 참조하세요.

설명

Sessions 컬렉션에서 세션의 이름을 알고 있는 경우 IADsCollection::GetObject 메서드를 명시적으로 호출하여 세션 개체를 검색합니다.

예제

다음 Visual Basic 코드 예제에서는 활성 파일 서비스 세션 컬렉션에서 명명된 세션 개체를 검색하는 방법을 보여 줍니다.

Dim fso As IADsFileServiceOperations 
Dim ses As IADsSession
Dim coll As IADsCollection
Dim mySessionName As String

Set fso = GetObject("WinNT://myComputer/FabrikamServer") 
Set coll = fso.Sessions

' Insert code to set mySessionName to the name of mySession.
 
' The following statement invokes IADsCollection::GetObject.
Set ses = coll.GetObject(mySessionName)

다음 C++ 코드 예제에서는 활성 파일 서비스 세션 컬렉션에서 명명된 세션 개체를 검색하는 방법을 보여 줍니다.

HRESULT GetASessionObjectFromCollection(BSTR mySession)
{
    LPWSTR adspath = L"WinNT://myComputer/FabrikamServer";
    IUnknown *pUnk=NULL;
    HRESULT hr = S_OK;
    IADsCollection *pColl = NULL;
    IADsFileServiceOperations *pFso = NULL;
    IADs *pADsObj = NULL;
    VARIANT varObj;
    BSTR bstrObj = NULL;

    VariantInit(&varObj);
    hr = ADsGetObject(adspath, 
                      IID_IADsFileServiceOperations,
                      (void**)&pFso);
    if(FAILED(hr)) {goto Cleanup;}

    hr = pFso->Sessions(&pColl);
    if(FAILED(hr)) {goto Cleanup;}

    hr = pColl->GetObject(mySession, &varObj);
    V_DISPATCH(&varObj)->QueryInterface(IID_IADs,(void**)&pADsObj);
    hr = pADsObj->get_Class(&bstrObj);
    printf("Class of the object obtained from GetObject: %S\n",
             bstrObj);

Cleanup:
    if(bstrObj) SysFreeString(bstrObj);
    if(pFso) pFso->Release();
    VariantClear(&varObj);
    if(pADsObj) pADsObj->Release();
    if(pColl) pColl->Release();

    return hr;
}

요구 사항

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

참고 항목

ADSI 오류 코드

IADsCollection

IADsCollection::Add

IDispatch

IEnumVARIANT