Update of /cvsroot/pywin32/pywin32/win32/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6442/win32/src
Modified Files:
PyWinTypes.h
Log Message:
Add utility functions that take a Py_LONG_LONG
Index: PyWinTypes.h
===================================================================
RCS file: /cvsroot/pywin32/pywin32/win32/src/PyWinTypes.h,v
retrieving revision 1.34
retrieving revision 1.35
diff -C2 -d -r1.34 -r1.35
*** PyWinTypes.h 20 Feb 2007 10:05:39 -0000 1.34
--- PyWinTypes.h 1 Mar 2007 00:21:16 -0000 1.35
***************
*** 229,232 ****
--- 229,240 ----
#define PyLong_FromLARGE_INTEGER PyWinObject_FromLARGE_INTEGER
#define PyLong_FromULARGE_INTEGER PyWinObject_FromULARGE_INTEGER
+ // Helpers that take a Py_LONG_LONG, but (a) have pywin32 consistent signatures
+ // and (b) handle int *and* long (where Python only starts doing that in the
+ // PyLong_* APIs post 2.4)
+ // We also happen to know a LARGE_INTEGER is an __int64, so do it the easy way
+ #define PyWinObject_AsPY_LONG_LONG(ob, pResult) PyWinObject_AsLARGE_INTEGER((ob), (LARGE_INTEGER *)(pResult))
+ #define PyWinObject_AsUPY_LONG_LONG(ob, pResult) PyWinObject_AsULARGE_INTEGER((ob), (ULARGE_INTEGER *)(pResult))
+ #define PyWinObject_FromPY_LONG_LONG(val) PyWinObject_FromLARGE_INTEGER((LARGE_INTEGER)val)
+ #define PyWinObject_FromUPY_LONG_LONG(val) PyWinObject_FromULARGE_INTEGER((ULARGE_INTEGER)val)
PyObject *PyLong_FromI64(__int64 ival);
***************
*** 411,415 ****
--- 419,426 ----
PYWINTYPES_EXPORT BOOL PyWinObject_AsHANDLE(PyObject *ob, HANDLE *pRes, BOOL bNoneOK = FALSE);
+ // For handles that use PyHANDLE.
PYWINTYPES_EXPORT PyObject *PyWinObject_FromHANDLE(HANDLE h);
+ // For handles that aren't returned as PyHANDLE or a subclass thereof (HDC, HWND, etc).
+ // Return as python ints or longs
PYWINTYPES_EXPORT PyObject *PyWinLong_FromHANDLE(HANDLE h);
|