oleaut32: If an error info object was created when the invoked method failed then fill in exception info from the error info object.
This commit is contained in:
parent
cb9c40a8cf
commit
e2108feec4
|
@ -5665,7 +5665,20 @@ static HRESULT WINAPI ITypeInfo_fnInvoke(
|
||||||
{
|
{
|
||||||
WARN("invoked function failed with error 0x%08x\n", V_ERROR(&varresult));
|
WARN("invoked function failed with error 0x%08x\n", V_ERROR(&varresult));
|
||||||
hres = DISP_E_EXCEPTION;
|
hres = DISP_E_EXCEPTION;
|
||||||
if (pExcepInfo) pExcepInfo->scode = V_ERROR(&varresult);
|
if (pExcepInfo)
|
||||||
|
{
|
||||||
|
IErrorInfo *pErrorInfo;
|
||||||
|
pExcepInfo->scode = V_ERROR(&varresult);
|
||||||
|
if (GetErrorInfo(0, &pErrorInfo) == S_OK)
|
||||||
|
{
|
||||||
|
IErrorInfo_GetDescription(pErrorInfo, &pExcepInfo->bstrDescription);
|
||||||
|
IErrorInfo_GetHelpFile(pErrorInfo, &pExcepInfo->bstrHelpFile);
|
||||||
|
IErrorInfo_GetSource(pErrorInfo, &pExcepInfo->bstrSource);
|
||||||
|
IErrorInfo_GetHelpContext(pErrorInfo, &pExcepInfo->dwHelpContext);
|
||||||
|
|
||||||
|
IErrorInfo_Release(pErrorInfo);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func_fail:
|
func_fail:
|
||||||
|
|
Loading…
Reference in New Issue