Freigeben über


IADsCollection::GetObject-Methode (iads.h)

Die IADsCollection::GetObject-Methode ruft ein Element der Auflistung ab.

Syntax

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

Parameter

[in] bstrName

Die mit Null endende Unicode-Zeichenfolge, die den Namen des Elements angibt. Dies ist der gleiche Name, der an IADsCollection::Add übergeben wird, wenn das Element der Auflistung hinzugefügt wird.

[in] pvItem

Aktueller Wert des Elements. Bei einem -Objekt entspricht dies dem IDispatch-Schnittstellenzeiger auf dem -Objekt.

Rückgabewert

Diese Methode unterstützt die Standardmäßigen Rückgabewerte, einschließlich S_OK. Weitere Informationen und andere Rückgabewerte finden Sie unter ADSI-Fehlercodes.

Hinweise

Wenn Sie den Namen einer Sitzung in der Sessions-Auflistung kennen, rufen Sie die IADsCollection::GetObject-Methode explizit auf, um das Sitzungsobjekt abzurufen.

Beispiele

Im folgenden Visual Basic-Codebeispiel wird gezeigt, wie ein benanntes Sitzungsobjekt aus einer Sammlung aktiver Dateidienstsitzungen abgerufen wird.

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)

Das folgende C++-Codebeispiel zeigt, wie ein benanntes Sitzungsobjekt aus einer Sammlung aktiver Dateidienstsitzungen abgerufen wird.

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;
}

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista
Unterstützte Mindestversion (Server) Windows Server 2008
Zielplattform Windows
Kopfzeile iads.h
DLL Activeds.dll

Weitere Informationen

ADSI-Fehlercodes

IADsCollection

IADsCollection::Add

IDispatch

IEnumVARIANT