Condividi tramite


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

Vedi anche

Interfaccia IDynamicKeyProviderConcept