HRESULT GetProperty ( DISPID dwDispID, variante * var );
statico HRESULT GetProperty ( IDispatch * pDisp, DISPID dwDispID, variante * var );
Valore restituito
Uno dei valori HRESULT standard.
Parametri
dwDispID
[in] Il DISPID della proprietà da recuperare. Il DISPID può essere ottenuto da GetIDsOfNames.
var
[out] Puntatore a dove il valore della proprietà deve essere conservato.
pDisp
[in] Puntatore ai interfaccia IDispatch.
Osservazioni
Ottiene il valore della proprietà identificata da dwDispID. Se si specifica pDisp, viene utilizzato tale puntatore IDispatch . In caso contrario, viene utilizzato il puntatore IDispatch contenuto nel membro dati p.
Nell'esempio seguente viene illustrata una chiamata alla versione statica di GetProperty. Questo codice viene utilizzato per implementare IPersistStreamInitImpl::Save.
CComPtrlt; IDispatch > pDispatch;
const IID * piidOld = NULL;
per (int i = 0; .pclsidproppage pMap [i]! = NULL; i + +)
/ / pMap è un puntatore a una matrice di / / strutture ATL_PROPMAP_ENTRY
{
Se (.szDesc pMap [i] = = NULL)
continua;
CComVariant var;
Se (.piidDispatch pMap [i]! = piidOld)
{
Se (FAILED (ControlQueryInterface (* pMap [i] .piiddispatch, (vuoto **) & pDispatch)))
{
ATLTRACE ( t ("Failed per ottenere un puntatore di spedizione per la proprietà #%i\n"), mi);
HR = E_FAIL;
pausa;
}
piidOld = .piiddispatch pMap [i];
}
Se (FAILED (CComDispatchDriver::GetProperty (pDispatch, pMap [i] .dispid e var)))
{
ATLTRACE ( t ("Invoked fallito il DISPID %x\n"), pMap[i].dispid);
HR = E_FAIL;
pausa;
}
HRESULT hr = var.WriteToStream(pStm);
Se (FAILED(hr))
pausa;
}
Pa&noramica CComDispatchDriver |nbsp; Membri della classe
Vedere a&nchenbsp;CComDispatchDriver::PutProperty