Metodo IDynamicKeyProviderConcept::GetKey (dbgmodel.h)
Il metodo GetKey in un provider di chiavi dinamiche è in gran parte un override del metodo GetKey in IModelObject. È previsto che il provider di chiavi dinamico restituisca il valore della chiave e tutti i metadati associati a tale chiave. Nel caso in cui la chiave non sia presente (ma non si verifica alcun altro errore), il provider deve restituire false nel parametro hasKey e avere esito positivo con S_OK. L'esito negativo di questa chiamata viene considerato un errore durante il recupero di una chiave e interromperà in modo esplicito la ricerca della chiave tramite la catena di modelli padre. La restituzione di false in hasKey e l'esito positivo continuerà la ricerca della chiave.
Si noti che è perfettamente legale per GetKey restituire una funzione di accesso alle proprietà boxed come chiave. Ciò sarebbe semanticamente identico al metodo GetKey in IModelObject che restituisce una funzione di accesso di proprietà.
Sintassi
HRESULT GetKey(
IModelObject *contextObject,
PCWSTR key,
IModelObject **keyValue,
IKeyStore **metadata,
bool *hasKey
);
Parametri
contextObject
Oggetto istanza (questo puntatore) per il quale ottenere una chiave.
key
Nome della chiave da recuperare.
keyValue
Il valore della chiave come determinato dal provider dinamico viene restituito qui. Se si verifica un errore nel recupero e viene restituito un HRESULT non valido, è possibile che vengano restituite informazioni di errore estese. È legale che l'implementazione del metodo GetKey restituisca una funzione di accesso alla proprietà (IModelPropertyAccessor).
metadata
Tutti i metadati associati alla chiave possono essere restituiti qui.
hasKey
Indica se il provider dinamico ha o meno la chiave. Se il provider non ha la chiave, deve restituire false in questo caso e avere esito positivo.
Valore restituito
Questo metodo restituisce HRESULT che indica l'esito positivo o negativo.
Requisiti
Requisito | Valore |
---|---|
Intestazione | dbgmodel.h |