BSTR fileSrc = pDispParams->rgvarg[3].bstrVal;
BSTR fileDst = pDispParams->rgvarg[2].bstrVal;
VARIANT_BOOL* pbChanged = pDispParams->rgvarg[1].pboolVal;
- INT* pSubcode = &pDispParams->rgvarg[0].intVal;
+ INT* pSubcode = pDispParams->rgvarg[0].pintVal;
VARIANT_BOOL* pbSuccess = &pVarResult->boolVal;
hr = UnpackFile(fileSrc, fileDst, pbChanged, pSubcode, pbSuccess);
break;
BSTR fileSrc = pDispParams->rgvarg[3].bstrVal;
BSTR folderDst = pDispParams->rgvarg[2].bstrVal;
VARIANT_BOOL* pbChanged = pDispParams->rgvarg[1].pboolVal;
- INT* pSubcode = &pDispParams->rgvarg[0].intVal;
+ INT* pSubcode = pDispParams->rgvarg[0].pintVal;
VARIANT_BOOL* pbSuccess = &pVarResult->boolVal;
hr = UnpackFolder(fileSrc, folderDst, pbChanged, pSubcode, pbSuccess);
break;
break;
}
}
+ if (hr == DISP_E_EXCEPTION && pExcepInfo)
+ {
+ IErrorInfo* pErrorInfo = nullptr;
+ GetErrorInfo(0, &pErrorInfo);
+ pErrorInfo->GetDescription(&pExcepInfo->bstrDescription);
+ pErrorInfo->GetSource(&pExcepInfo->bstrSource);
+ }
return hr;
}