다음을 통해 공유


IModelObject::SetKey 메서드(dbgmodel.h)

SetKey 메서드는 개체에 키를 만들고 메타데이터를 생성된 키와 잠재적으로 연결하기 위해 클라이언트가 로 설정하는 메서드입니다. 지정된 개체에 지정된 이름의 키가 이미 있는 경우 두 동작 중 하나가 발생합니다. 키가 지정된 instance 있으면 원래 키가 없는 것처럼 해당 키의 값이 바뀝니다. 반면에 키가 지정된 instance 부모 데이터 모델 체인에 있는 경우 지정된 이름의 새 키가 지정된 instance 만들어집니다. 이렇게 하면 사실상 개체에 동일한 이름의 두 개의 키가 있습니다(기본 클래스와 같은 이름의 멤버를 숨기게 하는 파생 클래스와 유사).

구문

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"
        }
    }
}

요구 사항

요구 사항
헤더 dbgmodel.h

추가 정보

IModelObject 인터페이스