Dear All,

I am new to python win32, and i cannot figure out how to format the data 
string for deviceiocontrol code with win32file.

I have the following c struct in my driver file:
typedef struct _WRITE_DEVICE_DATA_INPARAMS
{
        UCHAR ucMemorySpace;            // 0: I/O Space, 1: Mem Space.
        ULONG ulPhysicalAddress;        // Dword-aligned offset to write to.
        ULONG ulItemSize;                       // 1: Byte, 2: Word, 4: Dword.
        ULONG ulItemCount;                      // Number of bytes, words or 
dwords.

        union{
                UCHAR vucDataBuf[1];
                USHORT vusDataBuf[1];
                ULONG vulDataBuf[1];
        }data;

}WRITE_DEVICE_DATA_INPARAMS, *PWRITE_DEVICE_DATA_INPARAMS;

I tried to format my data string like this:
data=struct.pack('BLLLH',2,1020,2,1,0)

but got the following error:
OverflowError: long int too large to convert to int

Apparentely the error is coming from 1020. However it is define as ulong 
for both case the c struct and the python struct.pack.

Thanks in advance for your help

Regards
Brice
_______________________________________________
Python-win32 mailing list
Python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32

Reply via email to