[pywin32-checkins] pywin32/com/win32comext/adsi/src adsi.i,1.6,1.7 adsilib.i,1.3,1.4
OLD project page for the Python extensions for Windows
Brought to you by:
mhammond
From: Mark H. <mha...@us...> - 2006-03-15 04:04:33
|
Update of /cvsroot/pywin32/pywin32/com/win32comext/adsi/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2954/com/win32comext/adsi/src Modified Files: adsi.i adsilib.i Log Message: Expose ADsGetLastError() and ensure we automatically call it in all SWIG generated cases rather than just some cases! Index: adsilib.i =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32comext/adsi/src/adsilib.i,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** adsilib.i 26 May 2005 11:35:13 -0000 1.3 --- adsilib.i 15 Mar 2006 04:04:21 -0000 1.4 *************** *** 14,18 **** if (FAILED($source)) { $cleanup ! #ifndef SWIG_THIS_IID #error This interface must have SWIG_THIS_IID defined! --- 14,18 ---- if (FAILED($source)) { $cleanup ! #ifndef SWIG_THIS_IID #error This interface must have SWIG_THIS_IID defined! *************** *** 22,25 **** --- 22,35 ---- } + %typemap(python,except) HRESULT_KEEP_INFO { + Py_BEGIN_ALLOW_THREADS + $function + Py_END_ALLOW_THREADS + if (FAILED($source)) { + $cleanup + return OleSetADSIError($source, _swig_self, SWIG_THIS_IID); + } + } + %typemap(python,ignore) IDirectoryObject **OUTPUT(IDirectoryObject *temp) { Index: adsi.i =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32comext/adsi/src/adsi.i,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** adsi.i 27 May 2005 07:09:36 -0000 1.6 --- adsi.i 15 Mar 2006 04:04:21 -0000 1.7 *************** *** 230,233 **** --- 230,251 ---- %native (ADsEnumerateNext) PyADsEnumerateNext; + %{ + // @pyswig (int, unicode, unicode)|ADsGetLastError| + static PyObject *PyADsGetLastError(PyObject *self, PyObject *args) + { + if ( !PyArg_ParseTuple(args, ":ADsGetLastError") ) + return NULL; + WCHAR szErrorBuf[MAX_PATH] = {0}; + WCHAR szNameBuf[MAX_PATH] = {0}; + DWORD dwErrCode = 0; + ADsGetLastError( &dwErrCode, + szErrorBuf, + MAX_PATH-1, + szNameBuf, + MAX_PATH-1); + return Py_BuildValue("iuu", dwErrCode, szErrorBuf, szNameBuf); + } + %} + %native (ADsGetLastError) PyADsGetLastError; %{ |