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.