HRESULT GetProperty ( DISPID dwDispID, wariant * var. );
statyczne HRESULT GetProperty ( interfejsu IDispatch * pDisp, DISPID dwDispID, wariant * var. );
Wartość zwracany
Jednym ze standardowych wartości HRESULT.
Parametry
dwDispID
[w] DISPID właściwości mają zostać pobrane. DISPID, można otrzymać od IDispatch::GetIDsOfNames.
var
[limit] Wskaźnik, aby w przypadku wartość właściwości mają być przechowywane.
pDisp
[w] Wskaźnik do interfejsu IDispatch.
Uwagi
Pobiera wartość właściwości zidentyfikowanych przez dwDispID. Jeśli zostanie podana pDisp, używana jest tego wskaźnika interfejsu IDispatch . Jeśli nie, używany jest wskaźnikiem interfejsu IDispatch zawarte w Państwa danych p.
W poniższym przykładzie wywołanie statycznej wersji GetProperty. Kod ten jest używany do wykonania IPersistStreamInitImpl::Save.
CComPtrlt; IDispatch > pDispatch;
stała IID * piidOld = NULL;
dla (int i = 0; pMap, [i] .pclsidproppage! = NULL; i ++)
/ / pMap jest wskaźnik do tablicy / / ATL_PROPMAP_ENTRY struktur
{
Jeżeli (pMap, [i] .szdesc == NULL)
w dalszym ciągu;
Var. CComVariant;
Jeżeli (pMap, [i] .piiddispatch! = piidOld)
{
Jeżeli (nie powiodło się (ControlQueryInterface (* .piiddispatch pMap [i], (void **) & pDispatch)))
{
ATLTRACE (_T ("Niepowodzenie Aby uzyskać wskaźnik wysyłki dla właściwości #%i\n"), i);
hr = E_FAIL;
podział;
}
piidOld = pMap, [i] .piiddispatch;
}
Jeżeli (FAILED (CComDispatchDriver::GetProperty (pDispatch, pMap, [i] .dispid & var)))
{
ATLTRACE (_T ("Invoked nie powiodło się DISPID %x\n"), pMap[i].dispid);
hr = E_FAIL;
podział;
}
HRESULT hr = var.WriteToStream(pStm);
Jeżeli (FAILED(hr))
podział;
}
Omówie&nie CComDispatchDriver |nbsp; Członkowie klasy
Zobacz też CComDispatchDriver::PutProperty