(dbgmodel.h) IModelKeyReference::SetKey 方法
索引鍵參考上的 SetKey 方法的行為會如同 IModelObject 上的 SetKey 方法一樣。 它會指派金鑰的值。 如果原始索引鍵是屬性存取子,這會取代屬性存取子。 它不會在屬性存取子上呼叫 SetValue 方法。
語法
HRESULT SetKey(
IModelObject *object,
IKeyStore *metadata
);
參數
object
要指派給索引鍵的值。
metadata
要與索引鍵相關聯的選擇性元數據。
傳回值
這個方法會傳回表示成功或失敗的 HRESULT。
備註
程式碼範例
ComPtr<IDataModelManager> spManager; /* get the data model manager */
ComPtr<IModelObject> spObject; /* get an object */
ComPtr<IModelKeyReference> spKeyRef;
if (SUCCEEDED(spObject->GetKeyReference(L"Id", &spKeyRef, nullptr)))
{
VARIANT vtValue;
vtValue.vt = VT_UI8;
vtValue.ullVal = 42;
ComPtr<IModelObject> sp42;
if (SUCCEEDED(spManager->CreateIntrinsicObject(ObjectIntrinsic, &vtValue, &sp42)))
{
if (SUCCEEDED(spKeyRef->SetKey(sp42.Get(), nullptr)))
{
// The "Id" key has been overwritten with the value 42.
// If the "Id" key originally was a property accessor, it isn't anymore.
// This would not have called SetValue() on the property accessor.
// It replaced the property accessor with a static "42".
}
}
}
規格需求
需求 | 值 |
---|---|
標頭 | dbgmodel.h |