次の方法で共有


AfxThrowOleDispatchException

更新 : 2007 年 11 月

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>

参照

概念

MFC マクロとグローバル

参照

COleException クラス