Metode IModelPropertyAccessor::GetValue (dbgmodel.h)
Metode GetValue adalah getter untuk aksesor properti. Ini dipanggil setiap kali klien ingin mengambil nilai yang mendasar dari properti . Perhatikan bahwa setiap penelepon yang secara langsung mendapatkan aksesor properti bertanggung jawab untuk meneruskan nama kunci dan objek instans yang akurat (penunjuk ini) ke metode GetValue aksesor properti.
Sintaks
HRESULT GetValue(
PCWSTR key,
IModelObject *contextObject,
IModelObject **value
);
Parameter
key
Nama kunci untuk mendapatkan nilai. Penelepon yang mengambil pengakses properti secara langsung bertanggung jawab untuk melewati ini secara akurat.
contextObject
Objek konteks (instans penunjuk ini) tempat pengaktor properti diambil.
value
Nilai yang mendasar dari properti dikembalikan di sini.
Mengembalikan nilai
Metode ini mengembalikan HRESULT yang menunjukkan keberhasilan atau kegagalan.
Keterangan
Kode Sampel
// The full implementation class is shown for clarity.
class MyReadOnlyProperty :
public Microsoft::WRL::RuntimeClass<
Microsoft::WRL::RuntimeClassFlags<
Microsoft::WRL::RuntimeClassType::ClassicCom
>,
IModelPropertyAccessor
>
{
public:
IFACEMETHOD(GetValue)(_In_ PCWSTR /*pwszKey*/,
_In_ IModelObject * /*pContextObject*/,
_COM_Errorptr_ IModelObject **ppValue)
{
HRESULT hr = S_OK;
*ppValue = nullptr;
VARIANT vtValue;
vtValue.vt = VT_I4;
vtValue.lVal = m_value;
ComPtr<IModelObject> spValue;
hr = GetManager()->CreateIntrinsicObject(ObjectIntrinsic, &vtValue, &spValue);
if (SUCCEEDED(hr))
{
*ppValue = spValue.Detach();
}
return hr;
}
IFACEMETHOD(SetValue)(_In_ PCWSTR /*pwszKey*/,
_In_ IModelObject * /*pContextObject*/,
_In_ IModelObject * /*pValue*/)
{
// We are a read only property.
return E_NOTIMPL;
}
HRESULT RuntimeClassInitialize(_In_ int value)
{
m_value = value;
return S_OK;
}
private:
int m_value;
};
Persyaratan
Header | dbgmodel.h |