IDynamicKeyProviderConcept::GetKey 方法 (dbgmodel.h)
動態密鑰提供者上的 GetKey 方法基本上是 IModelObject 上的 GetKey 方法覆寫。 動態金鑰提供者應該會傳回索引鍵的值,以及與該索引鍵相關聯的任何元數據。 如果索引鍵不存在(但未發生其他錯誤),提供者必須在 hasKey 參數中傳回 false,並成功S_OK。 此呼叫失敗被視為無法擷取密鑰,且會透過父模型鏈結明確停止搜尋密鑰。 在 hasKey 中傳回 false,成功將會繼續搜尋密鑰。
請注意,GetKey 傳回 Boxed 屬性存取子做為索引鍵是完全合法的。 這在語意上與 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 |