hresult GetProperty ( DISPID dwDispID, VARIANT * var );
Statik hresult GetProperty ( IDispatch * pDisp, DISPID dwDispID, VARIANT * var );
Dönüş değeri
Standart hresult değerlerden.
Parametreleri
dwDispID
[de] Özellik DISPID alınacak. DISPID sayfasından elde edilebilir IDispatch::GetIDsOfNames.
var
[out] Özellik değeri depolanmış olduğu için işaretçi.
pDisp
[de] İşaretçi IDispatch arabirimi.
Açıklamalar
DwDispIDtarafından tanımlanan özellik değerini alır. PDispsağlarsanız, o IDispatch işaretçisi kullanılır. Bunu yapmazsanız, içerdiği veri üyesi p IDispatch işaretçisi kullanılır.
Aşağıdaki örnek aramak için GetPropertystatik sürümünü gösterir. Bu kodu IPersistStreamInitImpl::Save uygulama için kullanılır.
CComPtrlt; IDispatch > pDispatch;
Const IID * piidOld = null;
for (int i = 0; pMap [i] .pclsidproppage! = null; i ++)
/ / pMap bir dizi işaretçisine / / atl_propmap_entry yapıları
{
Eğer (pMap [i] .szdesc == null)
«««devam;
CComVariant var;
Eğer (pMap [i] .piiddispatch! = piidOld)
{
Eğer (FAILED (ControlQueryInterface (* pMap [i] .piiddispatch, (void **) & pDispatch)))
{
atltrace (("a gönderme işaretçisi özelliği #%i\n için alınamadı") _t, ı);
hr = E_FAIL;
Break;
}
piidOld = pMap [i] .piiddispatch;
}
Eğer (FAILED (CComDispatchDriver::GetProperty (pDispatch, pMap [i] .dispid ve var)))
{
atltrace (_t ("üzerinde DISPID %x\n başarısız Invoked"), pMap[i].dispid);
hr = E_FAIL;
Break;
}
hresult hr = var.WriteToStream(pStm);
Eğer (FAILED(hr))
Break;
}
CComDispatchDriver ge&nel bakış |nbsp; Sınıf üyeleri
Ayrıca bkz: CComDispatchDriver::PutProperty