CComDispatchDriver::GetProperty

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

Index