Condividi tramite


Metodo IADsCollection::GetObject (iads.h)

Il metodo IADsCollection::GetObject recupera un elemento della raccolta.

Sintassi

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

Parametri

[in] bstrName

Stringa Unicode con terminazione Null che specifica il nome dell'elemento. Si tratta dello stesso nome passato a IADsCollection::Add quando l'elemento viene aggiunto alla raccolta.

[in] pvItem

Valore corrente dell'elemento. Per un oggetto , corrisponde al puntatore all'interfaccia IDispatch nell'oggetto .

Valore restituito

Questo metodo supporta i valori restituiti standard, inclusi i S_OK. Per altre informazioni e altri valori restituiti, vedere Codici di errore ADSI.

Commenti

Se si conosce il nome di una sessione nell'insieme Sessions , chiamare il metodo IADsCollection::GetObject in modo esplicito per recuperare l'oggetto sessione.

Esempio

Nell'esempio di codice di Visual Basic seguente viene illustrato come recuperare un oggetto sessione denominato da una raccolta di sessioni del servizio file attive.

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)

Nell'esempio di codice C++ seguente viene illustrato come recuperare un oggetto sessione denominato da una raccolta di sessioni del servizio file attive.

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

Requisiti

   
Client minimo supportato Windows Vista
Server minimo supportato Windows Server 2008
Piattaforma di destinazione Windows
Intestazione iads.h
DLL Activeds.dll

Vedi anche

Codici di errore ADSI

IADsCollection

IADsCollection::Add

Idispatch

IEnumVARIANT