Metodo IModelPropertyAccessor::SetValue (dbgmodel.h)
Il metodo SetValue è il setter per la funzione di accesso alla proprietà. Viene chiamato ogni volta che un client desidera assegnare un valore alla proprietà sottostante. Molte proprietà sono di sola lettura. In questi casi, la chiamata al metodo SetValue restituirà E_NOTIMPL. Si noti che qualsiasi chiamante che ottiene direttamente una funzione di accesso di proprietà è responsabile del passaggio del nome della chiave e dell'oggetto istanza accurato (questo puntatore) al metodo SetValue della funzione di accesso alla proprietà.
Sintassi
HRESULT SetValue(
PCWSTR key,
IModelObject *contextObject,
IModelObject *value
);
Parametri
key
Nome della chiave per cui ottenere un valore. Un chiamante che recupera direttamente una funzione di accesso a una proprietà è responsabile del passaggio accurato.
contextObject
Oggetto context (istanza di questo puntatore) da cui è stata recuperata la funzione di accesso della proprietà.
value
Il valore da assegnare alla proprietà.
Valore restituito
Questo metodo restituisce HRESULT che indica l'esito positivo o negativo.
Commenti
Codice di esempio
class MyReadWriteProperty :
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)
{
VARIANT vtValue;
HRESULT hr = pValue->GetIntrinsicValueAs(VT_I4, &vtValue);
if (SUCCEEDED(hr))
{
m_value = vtValue.lVal;
}
return S_OK;
}
HRESULT RuntimeClassInitialize(_In_ int value)
{
m_value = value;
return S_OK;
}
private:
int m_value;
};
Requisiti
Requisito | Valore |
---|---|
Intestazione | dbgmodel.h |
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per