다음을 통해 공유


IDataModelManager::CreateTypedObjectReference 메서드(dbgmodel.h)

CreateTypedObjectReference 메서드는 기본 네이티브/언어 구문에 대한 참조를 만든다는 점을 제외하고 CreateTypedObject 메서드와 의미상 유사합니다. 만든 참조는 일종의 ObjectTargetObjectReference가 있는 개체입니다. 기본 언어가 지원할 수 있는 기본 참조가 아닙니다(예: C++ & 또는 &&). ObjectTargetObjectReference를 C++ 참조에 완전히 사용할 수 있습니다.

IModelObject에서 Dereference 메서드를 사용하여 ObjectTargetObjectReference 종류의 개체를 기본 값으로 변환할 수 있습니다. 참조를 기본 호스트의 식 계산기로 전달하여 적절한 언어로 값에 다시 할당할 수도 있습니다.

구문

HRESULT CreateTypedObjectReference(
  IDebugHostContext           *context,
  Location                    objectLocation,
  IDebugHostType              *objectType,
  _COM_Errorptr_ IModelObject **object
);

매개 변수

context

이 개체가 있는 디버그 호스트 컨텍스트입니다. 명시적 컨텍스트가 지정되지 않은 경우 새로 만든 개체의 컨텍스트는 objectType 인수의 컨텍스트에서 상속됩니다. 호출자는 USE_CURRENT_HOST_CONTEXT 특수 표식 값을 전달하여 개체가 디버거의 사용자 인터페이스에 현재 있는 컨텍스트를 수신해야 함을 나타낼 수 있습니다.

objectLocation

디버그 대상의 주소 공간에 있는 개체의 위치입니다. 위치가 가상 주소인 경우 클라이언트는 주소 공간에 대한 64비트 오프셋을 사용하여 위치를 생성할 수 있습니다. 그렇지 않으면 다른 디버그 호스트 인터페이스에서 위치를 검색해야 합니다.

objectType

생성되는 개체의 형식입니다. 컨텍스트 인수에 명시적 컨텍스트가 전달되지 않으면 형식의 컨텍스트가 새로 만든 개체로 전파됩니다.

object

새로 만든 개체 참조가 여기에 반환됩니다.

반환 값

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

설명

예제 코드

ComPtr<IDataModelManager> spManager; /* get the data model manager */
ComPtr<IDebugHostType> spType;       /* get a type (see CreateTypedObject) */
Location creationLocation;           /* get a location (see CreateTypedObject) */

ComPtr<IModelObject> spObjectRef;
if (SUCCEEDED(spManager->CreateTypedObjectReference(nullptr, 
                                                    creationLocation, 
                                                    spType.Get(), 
                                                    &spObjectRef)))
{
    // spObjectRef now contains a reference to the underlying object.  
    // This can be dereferenced to get the value or passed to the 
    // EE to do an assignment.
    ComPtr<IModelObject> spObject;
    if (SUCCEEDED(spObjectRef->Dereference(&spObject)))
    {
        // spObject now contains the object itself.
    }
}

요구 사항

요구 사항
헤더 dbgmodel.h

추가 정보

IDataModelManager 인터페이스