Partager via


IDynamicKeyProviderConcept ::GetKey, méthode (dbgmodel.h)

La méthode GetKey sur un fournisseur de clés dynamiques est en grande partie un remplacement de la méthode GetKey sur IModelObject. Le fournisseur de clé dynamique doit retourner la valeur de la clé et toutes les métadonnées associées à cette clé. Dans le cas où la clé n’est pas présente (mais qu’aucune autre erreur ne se produit), le fournisseur doit retourner false dans le paramètre hasKey et réussir avec S_OK. L’échec de cet appel est considéré comme un échec d’extraction d’une clé et interrompt explicitement la recherche de la clé via la chaîne de modèle parente. Le retour de la valeur false dans hasKey et success continue la recherche de la clé.

Notez qu’il est parfaitement légal pour GetKey de retourner un accesseur de propriété en boîte en tant que clé. Cela serait sémantiquement identique à la méthode GetKey sur IModelObject qui retourne un accesseur de propriété.

Syntaxe

HRESULT GetKey(
  IModelObject *contextObject,
  PCWSTR       key,
  IModelObject **keyValue,
  IKeyStore    **metadata,
  bool         *hasKey
);

Paramètres

contextObject

Objet instance (ce pointeur) pour lequel obtenir une clé.

key

Nom de la clé récupérée.

keyValue

La valeur de la clé telle que déterminée par le fournisseur dynamique est retournée ici. Si une erreur se produit dans l’extraction et qu’un HRESULT non valide est retourné, cela peut renvoyer des informations d’erreur étendues. Il est légal que l’implémentation de la méthode GetKey retourne un accesseur de propriété (IModelPropertyAccessor).

metadata

Toutes les métadonnées associées à la clé peuvent éventuellement être retournées ici.

hasKey

Indique si le fournisseur dynamique a la clé ou non. Si le fournisseur n’a pas la clé, il doit retourner false ici et réussir.

Valeur retournée

Cette méthode retourne HRESULT qui indique la réussite ou l’échec.

Configuration requise

Condition requise Valeur
En-tête dbgmodel.h

Voir aussi

Interface IDynamicKeyProviderConcept