It's really the cbSize of the various structures that I am not quite getting to grips with. Is there an easy way to determine these values for 32 or 64 bits?
SP_DEVICE_INTERFACE_DATA = 28 in 32 bits, and 32 in 64 bits - is this correct?
SP_DEVINFO_DATA = 28 in 32 bits, and 32 in 64 bits - is this correct?
SP_DEVICE_INTERFACE_DETAIL_DATA_A - entirely unsure of this, currently 6 works for for 32 bits, but no success with 64 bits, error returned from SetupDiGetDeviceInterfaceDetail
When I make the first call to SetupDiGetDeviceInterfaceDetail in 32 bits I get 170 bytes returned. When I convert this to 64 bits and update the first two cbSize to 32 instead of 28 I get 87 bytes returned.