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;
}
必要条件
ヘッダー:<afxdisp.h>