IModelObject::SetKey メソッド (dbgmodel.h)
SetKey メソッドは、オブジェクトにキーを作成するためにクライアントが設定するメソッドです (メタデータを作成したキーと関連付ける可能性があります)。 指定されたオブジェクトに指定された名前のキーが既に存在する場合は、2 つの動作のいずれかが発生します。 このによって指定されたインスタンスにキーがある場合、元のキーが存在しなかったかのように、そのキーの値が置き換えられます。 一方、キーが、このによって指定されたインスタンスの親データ モデルのチェーン内にある場合は、指定された名前の新しいキーが、このによって指定されたインスタンスに作成されます。 これにより、実際には、オブジェクトに同じ名前の 2 つのキーが含まれることになります (基底クラスと同じ名前のメンバーをシャドウする派生クラスに似ています)。
構文
HRESULT SetKey(
PCWSTR key,
IModelObject *object,
IKeyStore *metadata
);
パラメーター
key
値を設定するキーの名前。
object
キーの値は、この引数に含まれるオブジェクトに設定されます。
metadata
新しく設定されたキーに関連付ける省略可能なメタデータ。
戻り値
このメソッドは、成功または失敗を示す HRESULT を返します。
注釈
コード サンプル
ComPtr<IDataModelManager> spManager; /* get the data model manager */
// Create a new object with a property called "Test" with a value of 42.
ComPtr<IModelObject> spNewObject;
if (SUCCEEDED(spManager->CreateSyntheticObject(nullptr, &spNewObject)))
{
VARIANT vtVal;
vtVal.vt = VT_I4;
vtVal.lVal = 42;
ComPtr<IModelObject> sp42;
if (SUCCEEDED(spManager->CreateIntrinsicObject(ObjectIntrinsic, &vtVal, &sp42)))
{
if (SUCCEEDED(spNewObject->SetKey(L"Test", sp42.Get(), nullptr)))
{
// We have placed a static "42" on the new object under the key "Test"
}
}
}
要件
要件 | 値 |
---|---|
Header | dbgmodel.h |