Rob Marshall wrote:
> Thank-you. I also figured out that if I want the "actual" FILETIME I can do:
>
>>>> get_filetime = lambda i: ((i & 0xffffffff),(i - (i & 0xffffffff))>>32)
>>>> get_filetime(131742277260000000)
> (905689856L, 30673639L)
>>>> low,high = get_filetime(131742277260000000)
>>>> (high<<32)+low
> 131742277260000000L

A FILETIME is just a 64-bit integer, and you can always pass it to APIs
that way.  The only reason the structure has it in two parts is because
the Microsoft C compilers of the early 1990s did not have a 64-bit type.

Another way to do the unpacking is
    struct.unpack('II',struct.pack('Q',i))
and the reverse:
    struct.unpack('Q','strict.pack('II',low,high)[0]

-- 
Tim Roberts, t...@probo.com
Providenza & Boekelheide, Inc.

_______________________________________________
python-win32 mailing list
python-win32@python.org
https://mail.python.org/mailman/listinfo/python-win32

Reply via email to