EXCEPINFO structure under Win 64
Posted: Thu May 28, 2009 10:40 pm
Hi,
I am aiming this at anyone who may have the Windows 64-bit sdk and can possibly rummage through the relevant header file(s) to clear this up for me!
In getting COMatePLUS to work with PB 64 (which now seems to be working!) I have run up against a structure which the PB compiler does not recognise.
The structure in question (EXCEPINFO) is detailed on MSDN : http://msdn.microsoft.com/en-us/library/ms221133.aspx
Now, with PB x86 I have been using the following without problems :
Under PB 64, however, this caused some very hard to find bugs with COMatePLUS and being unable to find any information on the web as to how this structure should look under win 64, a process of trial and error led me to adjust the 'wReserved' field to be 6 bytes.
At the very least this suggests the addition of an additional field after 'wReserved' or perhaps that the first two fields should be 4 bytes long under win 64.
I am thus using the following version which allows COMatePLUS to run fine (with regards to this structure) with both PB 32 and PB 64 :
I have confirmed that this structure is functioning correctly with both versions of COMatePLUS.
If someone could have a look in the Oleauto.h header file in the 64-bit sdk then I would be grateful. (I assume that this structure will be in this particular header!) My version of Vista 64 is not yet up and running sufficiently well for me to consider downloading the full sdk just yet!
@Fred : can we add this structure to Purebasic please? At least once we have the correct definition for both x86 and x64.
I am aiming this at anyone who may have the Windows 64-bit sdk and can possibly rummage through the relevant header file(s) to clear this up for me!
In getting COMatePLUS to work with PB 64 (which now seems to be working!) I have run up against a structure which the PB compiler does not recognise.
The structure in question (EXCEPINFO) is detailed on MSDN : http://msdn.microsoft.com/en-us/library/ms221133.aspx
Now, with PB x86 I have been using the following without problems :
Code: Select all
Structure EXCEPINFO
wCode.w
wReserved.w
bstrSource.i
bstrDescription.i
bstrHelpFile.i
dwHelpContext.l
pvReserved.i
*pfnDeferredFillIn.i
scode.l
EndStructureAt the very least this suggests the addition of an additional field after 'wReserved' or perhaps that the first two fields should be 4 bytes long under win 64.
I am thus using the following version which allows COMatePLUS to run fine (with regards to this structure) with both PB 32 and PB 64 :
Code: Select all
Structure EXCEPINFO
wCode.i
bstrSource.i
bstrDescription.i
bstrHelpFile.i
dwHelpContext.l
pvReserved.i
*pfnDeferredFillIn.i
scode.l
EndStructureIf someone could have a look in the Oleauto.h header file in the 64-bit sdk then I would be grateful. (I assume that this structure will be in this particular header!) My version of Vista 64 is not yet up and running sufficiently well for me to consider downloading the full sdk just yet!
@Fred : can we add this structure to Purebasic please? At least once we have the correct definition for both x86 and x64.