IADsCollection::GetObject, méthode (iads.h)

La méthode IADsCollection::GetObject récupère un élément de la collection.

Syntaxe

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

Paramètres

[in] bstrName

Chaîne Unicode terminée par null qui spécifie le nom de l’élément. Il s’agit du même nom passé à IADsCollection::Add lorsque l’élément est ajouté à la collection.

[in] pvItem

Valeur actuelle de l’élément. Pour un objet, cela correspond au pointeur d’interface IDispatch sur l’objet .

Valeur retournée

Cette méthode prend en charge les valeurs de retour standard, y compris S_OK. Pour plus d’informations et d’autres valeurs de retour, consultez Codes d’erreur ADSI.

Notes

Si vous connaissez le nom d’une session dans la collection Sessions , appelez explicitement la méthode IADsCollection::GetObject pour récupérer l’objet session.

Exemples

L’exemple de code Visual Basic suivant montre comment récupérer un objet de session nommé à partir d’une collection de sessions de service de fichiers actives.

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)

L’exemple de code C++ suivant montre comment récupérer un objet de session nommé à partir d’une collection de sessions de service de fichiers actives.

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

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

Voir aussi

Codes d’erreur ADSI

IADsCollection

IADsCollection::Add

IDispatch

IEnumVARIANT