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