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
ヘルプ コンテキスト ID。
pvReserved
予約済み。 null である必要があります。
pfnDeferredFillIn
遅延入力を提供します。 遅延入力が必要ない場合は、このフィールドを null に設定する必要があります。
scode
エラーを説明する戻り値。 このフィールドまたは wCode (両方ではなく) を入力する必要があります。もう一方は 0 に設定する必要があります。 (16 ビット Windows バージョンのみ)。
注釈
pfnDeferredFillIn フィールドを使用して、オブジェクトが必要になるまで bstrDescription、bstrHelpFile、および dwHelpContext フィールドの入力を延期できるようにします。 このフィールドは、たとえば、エラーの文字列の読み込みが時間のかかる操作である場合に使用できます。 遅延入力を使用するには、オブジェクトはこのスロットに関数ポインターを配置し、 必要な wCode 以外の他のフィールドには入力しません。
追加情報を取得するために、呼び出し元は EXCEPINFO 構造体を pexcepinfo コールバック関数に渡し、追加情報を入力します。 ActiveX オブジェクトと ActiveX クライアントが異なるプロセスにある場合、ActiveX オブジェクトはコントローラーに戻る前に pfnDeferredFillIn を呼び出します。
要件
要件 | 値 |
---|---|
Header | oaidl.h |