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 |