EXCEPINFO 結構 (oaidl.h)
描述 IDispatch::Invoke 期間發生的例外狀況。
語法
typedef struct tagEXCEPINFO {
WORD wCode;
WORD wReserved;
BSTR bstrSource;
BSTR bstrDescription;
BSTR bstrHelpFile;
DWORD dwHelpContext;
ULONG_PTR pvReserved;
ULONG_PTR pfnDeferredFillIn;
SCODE scode;
} EXCEPINFO, *LPEXCEPINFO;
成員
wCode
錯誤碼。 錯誤碼應大於 1000。 此欄位或 scode 欄位必須填入;另一個必須設定為 0。
wReserved
保留的。 應該是 0。
bstrSource
例外狀況來源的名稱。 通常,這是應用程式名稱。 此欄位應該由 IDispatch 的實作者填入。
bstrDescription
要顯示的例外狀況描述。 如果沒有可用的描述,請使用 null。
bstrHelpFile
完整說明檔路徑。 如果沒有說明可用,請使用 null。
dwHelpContext
說明內容識別碼。
pvReserved
保留的。 必須是 Null。
pfnDeferredFillIn
提供延後填入。 如果不需要延後填入,此字段應設定為 null。
scode
描述錯誤的傳回值。 此欄位或 wCode (,但不能同時填入) ;另一個必須設定為 0。 (僅限 16 位 Windows 版本。)
備註
使用 pfnDeferredFillIn 欄位可讓物件延遲填入 bstrDescription、 bstrHelpFile 和 dwHelpContext 字段,直到需要它們為止。 例如,如果載入錯誤的字串是耗時的作業,可能會使用此欄位。 若要使用延後填入,物件會將函式指標放入此位置,而且不會填滿 wCode 以外的任何其他欄位,這是必要的。
若要取得其他資訊,呼叫端會將 EXCEPINFO 結構傳回 pexcepinfo 回呼函式,以填入其他資訊。 當 ActiveX 物件和 ActiveX 用戶端在不同的進程中時,ActiveX 物件會在返回控制器之前呼叫 pfnDeferredFillIn 。
規格需求
需求 | 值 |
---|---|
標頭 | oaidl.h |