Compartir a través de


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

El método IADsCollection::GetObject recupera un elemento de la colección.

Sintaxis

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

Parámetros

[in] bstrName

Cadena Unicode terminada en null que especifica el nombre del elemento. Este es el mismo nombre que se pasa a IADsCollection::Add cuando se agrega el elemento a la colección.

[in] pvItem

Valor actual del elemento. Para un objeto , esto corresponde al puntero de interfaz IDispatch del objeto .

Valor devuelto

Este método admite los valores devueltos estándar, incluidos S_OK. Para obtener más información y otros valores devueltos, vea Códigos de error adsi.

Comentarios

Si conoce el nombre de una sesión en la colección Sessions , llame al método IADsCollection::GetObject explícitamente para recuperar el objeto de sesión.

Ejemplos

En el siguiente ejemplo de código de Visual Basic se muestra cómo recuperar un objeto de sesión con nombre de una colección de sesiones de servicio de archivos activas.

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)

En el ejemplo de código de C++ siguiente se muestra cómo recuperar un objeto de sesión con nombre de una colección de sesiones de servicio de archivos activas.

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 compatible Windows Vista
Servidor mínimo compatible Windows Server 2008
Plataforma de destino Windows
Encabezado iads.h
Archivo DLL Activeds.dll

Consulte también

Códigos de error adsi

IADsCollection

IADsCollection::Add

IDispatch

IEnumVARIANT