This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: mapitags.PROP_TAG() doesn't account for new longs
Type: Stage:
Components: Windows Versions: Python 2.4
process
Status: closed Resolution: rejected
Dependencies: Superseder:
Assigned To: mhammond Nosy List: hildjj, mhammond
Priority: normal Keywords:

Created on 2004-12-30 18:36 by hildjj, last changed 2022-04-11 14:56 by admin. This issue is now closed.

Messages (3)
msg23852 - (view) Author: Joe Hildebrand (hildjj) Date: 2004-12-30 18:36
Test case: 

>>> from win32com.mapi.mapitags import *
>>> PROP_TAG(PT_LONG, 0x8041)
2151743491L

Should be:
-2143223805L

or, alternately, the rest of the mapi interfaces should
know about unsigned ints.
msg23853 - (view) Author: Joe Hildebrand (hildjj) Date: 2005-09-19 23:43
Logged In: YES 
user_id=101697

For example, you could use this (awful hack):

def PROP_TAG(ulPropType,ulPropID):
	a = (ulPropID<<16)|(ulPropType)
        if ulPropID & 0x8000:
          a = int(-((a ^ 0xffffffff) + 1))
        return a


mostly posted here so i can google for it next time...
msg23854 - (view) Author: Mark Hammond (mhammond) * (Python committer) Date: 2007-08-21 01:15
This should be in the pywin32 collector, and should also be resolved in recent pywin32 builds, where either form will be accepted when being passed to MAPI.
History
Date User Action Args
2022-04-11 14:56:08adminsetgithub: 41379
2004-12-30 18:36:01hildjjcreate