다음을 통해 공유


IModelKeyReference2::OverrideContextObject 메서드(dbgmodel.h)

OverrideContextObject 메서드( IModelKeyReference2에만 있음)는 이 키 참조가 기본 속성 접근자의 GetValue 또는 SetValue 메서드에 전달할 컨텍스트 개체를 영구적으로 변경하는 데 사용되는 고급 메서드입니다. 이 메서드에 전달된 개체도 GetContextObject 호출에서 반환됩니다. 이 메서드는 스크립트 공급자가 특정 동적 언어 동작을 복제하는 데 사용할 수 있습니다. 대부분의 클라이언트는 이 메서드를 호출해서는 안 됩니다.

구문

HRESULT OverrideContextObject(
  IModelObject *newContextObject
);

매개 변수

newContextObject

기본 속성 접근자의 GetValue 또는 SetValue 메서드에 전달할 새 컨텍스트 개체입니다.

반환 값

이 메서드는 성공 또는 실패를 나타내는 HRESULT를 반환합니다.

설명

코드 예제

ComPtr<IModelObject> spObject;          /* get an object */
ComPtr<IModelObject> spAdjustedContext; /* get the object you'd like to adjust context to */

ComPtr<IModelKeyReference> spKeyRef;
if (SUCCEEDED(spObject->GetKeyReference(L"Id", &spKeyRef, nullptr)))
{
    // At this moment, spKeyRef->GetContextObject() and 
    // spKeyRef->GetOriginalObject() will return the same value
    ComPtr<IModelKeyReference2> spKeyRef2;
    if (SUCCEEDED(spKeyRef.As(&spKeyRef2)))
    {
        if (SUCCEEDED(spKeyRef2->OverrideContextObject(spAdjustedContext.Get())))
        {
            // Now, spKeyRef->GetContextObject() will return spAdjustedContext 
            // and spKeyRef->GetOriginalObject() will return spObject
            // Very few clients will want to do this.  It is useful for some 
            // bridges between dynamic languages and the data model.
        }
    }
}

요구 사항

요구 사항
헤더 dbgmodel.h

추가 정보

IModelKeyReference2 인터페이스