次の方法で共有


IDynamicKeyProviderConcept::GetKey メソッド (dbgmodel.h)

動的キー プロバイダーの GetKey メソッドは、主に IModelObject GetKey メソッドのオーバーライドです。 動的キー プロバイダーは、キーの値とそのキーに関連付けられているメタデータを返す必要があります。 キーが存在しない場合 (ただし、他のエラーは発生しません)、プロバイダーは hasKey パラメーターで false を返し、S_OKで成功する必要があります。 この呼び出しに失敗すると、キーをフェッチできなかったと見なされ、親モデル チェーンを介してキーの検索が明示的に停止されます。 hasKey と success で false を返すと、キーの検索が続行されます。

GetKey がボックス化されたプロパティ アクセサーをキーとして返すのは完全に有効であることに注意してください。 これは、プロパティ アクセサーを返 IModelObject の GetKey メソッドと意味的に同じです。

構文

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

パラメーター

contextObject

キーを取得するインスタンス オブジェクト (このポインター)。

key

取得するキーの名前。

keyValue

動的プロバイダーによって決定されたキーの値がここで返されます。 フェッチでエラーが発生し、無効な HRESULT が返された場合は、拡張エラー情報が返される可能性があります。 GetKey メソッドの実装では、プロパティ アクセサー (IModelPropertyAccessor) を返すのが適しています。

metadata

キーに関連付けられているメタデータは、必要に応じてここで返すことができます。

hasKey

動的プロバイダーがキーを持っているかどうかを示します。 プロバイダーにキーがない場合は、ここで false を返して成功する必要があります。

戻り値

このメソッドは、成功または失敗を示す HRESULT を返します。

必要条件

要件 価値
ヘッダー dbgmodel.h

関連項目

IDynamicKeyProviderConcept インターフェイス