In the 'Screamer' application of CyUSB.NET, while creating 'OVERLAPPED structure mapping array' (ovlap) why fixed array size '20' is used? Is it compatible with x64 platform? (Screamer application statement :- oLaps[j] = new byte;)
While designing the 'Screamer application', only x86 (32 bit) platform is kept into consideration, so the 'hard-coded size of OVERLAPPED structure' : 20 is used.
But it is recommended that, users should not use this hard-coded value in their application. Rather they should use 'CyConst.OverlapSignalAllocSize' OR 'CyUSBEndPoint.OverlapSignalAllocSize' in their applications. This helps in application compatibility for both x86 (23 bit) and x64 (64 bit) platforms.
The 'CyConst.OverlapSignalAllocSize' And 'CyUSBEndPoint.OverlapSignalAllocSize', both correctly interpret the OVERLAPPED structure size, which is 20 bytes when using x32 platform and 32 bytes when using x64 platform.