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。

要求

要求
Header dbgmodel.h

另请参阅

IDynamicKeyProviderConcept 接口