AfxThrowOleDispatchException
OLE オートメーション関数内で例外をスローするには、この関数を使用します。
void AFXAPI AfxThrowOleDispatchException(
WORD wCode,
LPCSTR lpszDescription,
UINT nHelpID = 0
);
void AFXAPI AfxThrowOleDispatchException(
WORD wCode,
UINT nDescriptionID,
UINT nHelpID = -1
);
パラメーター
wCode
アプリケーションへのエラー コードの仕様。lpszDescription
エラーの定義を示して。nDescriptionID
ことばによるエラーの説明のリソース id。nHelpID
アプリケーションのヘルプ (.HLP)ファイルのヘルプ コンテキスト。
解説
この関数に表示される情報は、運用アプリケーション (Microsoft Visual Basic または別の OLE オートメーション クライアント アプリケーション)に表示できます。
使用例
// Sort is method of automation class CStrArrayDoc
long CStrArrayDoc::Sort(VARIANT* vArray)
{
USES_CONVERSION;
// Type check VARIANT parameter. It should contain a BSTR array
// passed by reference. The array must be passed by reference; it is
// an in-out-parameter.
// throwing COleDispatchException allows the EXCEPINFO structure of
// IDispatch::Invoke() to set
if (V_VT(vArray) != (VT_ARRAY | VT_BSTR))
AfxThrowOleDispatchException(1001,
_T("Type Mismatch in Parameter. Pass a string array by reference"));
// ...
// ...
return 0;
}
必要条件
Header: <afxdisp.h>