다음을 통해 공유


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

키 참조의 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

추가 정보

IModelKeyReference 인터페이스