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>