Share via


Método IADsCollection::GetObject (iads.h)

O método IADsCollection::GetObject recupera um item da coleção.

Sintaxe

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

Parâmetros

[in] bstrName

A cadeia de caracteres Unicode terminada em nulo que especifica o nome do item. Esse é o mesmo nome passado para IADsCollection::Add quando o item é adicionado à coleção.

[in] pvItem

Valor atual do item. Para um objeto , isso corresponde ao ponteiro da interface IDispatch no objeto .

Valor retornado

Esse método dá suporte aos valores retornados padrão, incluindo S_OK. Para obter mais informações e outros valores retornados, consulte Códigos de erro ADSI.

Comentários

Se você souber o nome de uma sessão na coleção Sessions , chame o método IADsCollection::GetObject explicitamente para recuperar o objeto de sessão.

Exemplos

O exemplo de código do Visual Basic a seguir mostra como recuperar um objeto de sessão nomeado de uma coleção de sessões de serviço de arquivo ativas.

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)

O exemplo de código C++ a seguir mostra como recuperar um objeto de sessão nomeado de uma coleção de sessões de serviço de arquivo ativas.

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

Requisitos

   
Cliente mínimo com suporte Windows Vista
Servidor mínimo com suporte Windows Server 2008
Plataforma de Destino Windows
Cabeçalho iads.h
DLL Activeds.dll

Confira também

Códigos de erro ADSI

IADsCollection

IADsCollection::Add

IDispatch

IEnumVARIANT