IModelObject::TryCastToRuntimeType 方法 (dbgmodel.h)
TryCastToRuntimeType 方法會要求偵錯主機執行分析,並判斷指定對象的實際運行時間類型(例如:大多數衍生類別)。 所使用的確切分析專屬於偵錯主機,且可能包含 RTTI(C++運行時間類型資訊)、檢查物件的 V-Table(虛擬函式數據表)結構,或任何其他表示主機可用來從靜態類型可靠地判斷動態/運行時間類型。 無法轉換成運行時間類型,並不表示這個方法呼叫將會失敗。 在這種情況下,方法會傳回輸出自變數中的指定物件(此指標)。
語法
HRESULT TryCastToRuntimeType(
_COM_Errorptr_ IModelObject **runtimeTypedObject
);
參數
runtimeTypedObject
指定的 物件轉換成其動態/運行時間類型的實例,將會在此自變數中傳回。 如果分析在靜態類型中找不到變更,則指定的物件(此指標)可能會在此輸出中傳回 (具有其他參考)。
傳回值
此方法會傳回表示成功或失敗的 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 |