[pywin32-checkins] pywin32/com/win32com/src/extensions PyIServiceProvider.cpp, 1.4, 1.5
OLD project page for the Python extensions for Windows
Brought to you by:
mhammond
From: Mark H. <mha...@us...> - 2008-08-18 12:59:47
|
Update of /cvsroot/pywin32/pywin32/com/win32com/src/extensions In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11637/win32com/src/extensions Modified Files: PyIServiceProvider.cpp Log Message: s/PyCom_HandlePythonFailureToCOM/MAKE_PYCOM_GATEWAY_FAILURE_CODE/ and fix error handling in QueryService if either param fails Index: PyIServiceProvider.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32com/src/extensions/PyIServiceProvider.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** PyIServiceProvider.cpp 11 Dec 2004 19:49:56 -0000 1.4 --- PyIServiceProvider.cpp 18 Aug 2008 12:59:55 -0000 1.5 *************** *** 66,82 **** STDMETHODIMP PyGServiceProvider::QueryService(REFGUID guidService, REFIID riid, void **ppv) { if (ppv==NULL) return E_POINTER; *ppv = NULL; PY_GATEWAY_METHOD; PyObject *obGUID = PyWinObject_FromIID(guidService); ! if (obGUID==NULL) PyCom_HandlePythonFailureToCOM(); PyObject *obIID = PyWinObject_FromIID(riid); if (obIID==NULL) { Py_DECREF(obGUID); ! PyCom_HandlePythonFailureToCOM(); } PyObject *result; ! HRESULT hr = InvokeViaPolicy("QueryService", &result, "OO", obGUID, obIID); Py_DECREF(obIID); Py_DECREF(obGUID); --- 66,83 ---- STDMETHODIMP PyGServiceProvider::QueryService(REFGUID guidService, REFIID riid, void **ppv) { + static const char *method_name = "QueryService"; if (ppv==NULL) return E_POINTER; *ppv = NULL; PY_GATEWAY_METHOD; PyObject *obGUID = PyWinObject_FromIID(guidService); ! if (obGUID==NULL) return MAKE_PYCOM_GATEWAY_FAILURE_CODE(method_name); PyObject *obIID = PyWinObject_FromIID(riid); if (obIID==NULL) { Py_DECREF(obGUID); ! return MAKE_PYCOM_GATEWAY_FAILURE_CODE(method_name); } PyObject *result; ! HRESULT hr = InvokeViaPolicy(method_name, &result, "OO", obGUID, obIID); Py_DECREF(obIID); Py_DECREF(obGUID); *************** *** 85,89 **** PyCom_InterfaceFromPyInstanceOrObject(result, riid, ppv, TRUE); Py_XDECREF(result); ! return PyCom_HandlePythonFailureToCOM(); } --- 86,90 ---- PyCom_InterfaceFromPyInstanceOrObject(result, riid, ppv, TRUE); Py_XDECREF(result); ! return MAKE_PYCOM_GATEWAY_FAILURE_CODE(method_name); } |