CComDispatchDriver::GetProperty

HRESULT GetProperty ( DISPID dwDispID, VARIANT * var );

estática HRESULT GetProperty ( IDispatch * pDisp, DISPID dwDispID, VARIANT * var );

Valor devuelto

Uno de los valores HRESULT estándar.

Parámetros

dwDispID

[en] El DISPID de la propiedad que desea recuperar. Puede obtenerse el DISPID IDispatch:: GetIDsOfNames.

var

[out] Puntero a dónde se almacena el valor de la propiedad.

pDisp

[en] Puntero a la interfaz IDispatch.

Observaciones

Obtiene el valor de la propiedad identificada por dwDispID. Si usted suministra pDisp, se utiliza ese puntero IDispatch . Si no lo hace, se utiliza el puntero IDispatch contenido en el miembro de datos p.

En el ejemplo siguiente se muestra una llamada a la versión estática de GetProperty. Este código se utiliza para implementar IPersistStreamInitImpl::Save.

CComPtrlt; IDispatch > pDispatch;
const IID * piidOld = NULL;
para (int i = 0; pMap [i] .pclsidproppage! = NULL; i ++)
               / / pMap es un puntero a una matriz de / / estructuras ATL_PROPMAP_ENTRY
{
   Si (pMap [i] .szdesc == NULL)
      continuar;
   Var CComVariant;
   Si (pMap [i] .piiddispatch! = piidOld)
   {
      Si (FAILED (ControlQueryInterface (* pMap [i] .piiddispatch, (void **) & pDispatch)))
      {
         ATLTRACE (_T ("Error al obtener un puntero de expedición para #%i\n de propiedad"), me);
         HR = E_FAIL;
         romper;
      }
      piidOld = pMap [i] .piiddispatch;
   }
   Si (FAILED (CComDispatchDriver::GetProperty (pDispatch, pMap [i] .dispid & var)))
   {
      ATLTRACE (_T ("invocada fallado en DISPID %x\n"), pMap[i].dispid);
      HR = E_FAIL;
      romper;
   }
   HRESULT hr = var.WriteToStream(pStm);
   Si (FAILED(hr))
      romper;
}

Visió&n General de CComDispatchDriver |nbsp; Miembros de clase

Vea tambié&nnbsp;CComDispatchDriver::PutProperty

Index