filesystem: Amend previous WINAPI call enforcement fix

C function pointer declarations are evidently not my forte. This
fixes a build-time error with MSVC++.

Also, rearranged a bit of code using a type declaration so I don't
feel like gouging my eyes out every time I read the full function
pointer type specification, and used reinterpret_cast instead of
a C-style cast.