IDynamicKeyProviderConcept::GetKey 方法 (dbgmodel.h)

动态密钥提供程序上的 GetKey 方法基本上是对 IModelObject上的 GetKey 方法的替代。 动态密钥提供程序应返回密钥的值以及与该键关联的任何元数据。 如果密钥不存在(但未发生其他错误),提供程序必须在 hasKey 参数中返回 false,并成功执行S_OK。 失败此调用被视为无法提取密钥,并且将通过父模型链显式停止搜索密钥。 在 hasKey 中返回 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 接口