Is checking to see if you're compiling on Win32 neccessary?
yes, but not just to remove redundant code. Without the directives this won't compile on Mac or Linux because DDSurfaceDesc2 is not a defined type. remember, that module is only imported on windows.