IModelObject::TryCastToRuntimeType 메서드(dbgmodel.h)
TryCastToRuntimeType 메서드는 디버그 호스트에게 분석을 수행하고 지정된 개체의 실제 런타임 형식(예: 대부분의 파생 클래스)을 결정하도록 요청합니다. 사용된 정확한 분석은 디버그 호스트와 관련이 있으며 RTTI(C++ 런타임 형식 정보), 개체의 V-Table(가상 함수 테이블) 구조 검사 또는 호스트가 정적 형식에서 동적/런타임 형식을 안정적으로 확인하는 데 사용할 수 있는 기타 수단을 포함할 수 있습니다. 런타임 형식으로 변환하지 않는다고 해서 이 메서드 호출이 실패한다는 의미는 아닙니다. 이러한 경우 메서드는 출력 인수에서 지정된 개체(이 포인터)를 반환합니다.
구문
HRESULT TryCastToRuntimeType(
_COM_Errorptr_ IModelObject **runtimeTypedObject
);
매개 변수
runtimeTypedObject
지정된 개체를 해당 동적/런타임 형식의 instance 변환하는 것이 이 인수에 반환됩니다. 분석에서 정적 형식의 변경 내용을 찾지 못하면 지정된 개체(이 포인터)가 이 출력에서 (추가 참조를 사용하여) 반환된 것일 수 있습니다.
반환 값
이 메서드는 성공 또는 실패를 나타내는 HRESULT를 반환합니다. 파생 형식을 찾을 수 없는 분석은 여기에 정의된 대로 실패하지 않습니다.
설명
코드 예제
ComPtr<IModelObject> spUnknown; /* get an IUnknown pointer to some CFoo */
ComPtr<IModelObject> spRuntimeObj;
if (SUCCEEDED(spUnknown->TryCastToRuntimeType(&spRuntimeObj)))
{
// spRuntimeObj will refer to the CFoo.
}
요구 사항
요구 사항 | 값 |
---|---|
헤더 | dbgmodel.h |