HRESULT GetProperty ( DISPID dwDispID, variante * var );
estático HRESULT GetProperty ( IDispatch * pDisp, DISPID dwDispID, variante * var );
Valor de retorno
Um dos valores HRESULT padrão.
Parâmetros
dwDispID
[no] O DISPID da propriedade a ser recuperados. O DISPID pode ser obtido de IDispatch:: GetIDsOfNames.
var
[out] Ponteiro para onde o valor da propriedade é a ser armazenado.
pDisp
[no] Ponteiro para o interface IDispatch.
Observações
Obtém o valor da propriedade identificado por dwDispID. Se você fornecer pDisp, esse ponteiro de IDispatch é usado. Se você não fizer isso, o ponteiro de IDispatch contido no dados membro p é usado.
O exemplo a seguir mostra uma chamada para a versão estática do GetProperty. Este código é usado para implementar IPersistStreamInitImpl::Save.
CComPtrlt; IDispatch > pDispatch;
const IID * piidOld = NULL;
for (int i = 0; pMap [i] .pclsidproppage! = NULL; i + +)
/ / pMap é um ponteiro para uma matriz de / / estruturas ATL_PROPMAP_ENTRY
{
se (pMap [i] .szdesc = = NULL)
continuar;
CComVariant var;
se (pMap [i] .piiddispatch! = piidOld)
{
se (FAILED (ControlQueryInterface (* pMap [i] .piiddispatch, (void **) & pDispatch)))
{
ATLTRACE ( t ("falhado ao obter um ponteiro de expedição para a propriedade #%i\n"), i);
hr = E_FAIL;
quebra;
}
piidOld = pMap [i] .piiddispatch;
}
se (FAILED (CComDispatchDriver::GetProperty (pDispatch, pMap, [i] .dispid & var)))
{
ATLTRACE ( t ("Invoked falhado em DISPID %x\n"), pMap[i].dispid);
hr = E_FAIL;
quebra;
}
HRESULT hr = var.WriteToStream(pStm);
se (FAILED(hr))
quebra;
}
Visão geral de CComDispatchDriver | Membros de classe
Co&nsulte tambémnbsp;CComDispatchDriver::PutProperty