GnuPG expects HANDLE values instead of file descriptors on Windows. For the 3 standard handles this does not matter due to special treatment by Windows. For most other use cases the use of HANDLE values is much better due to better integration with CreateProcess and to avoid problems with different libc versions.
For some corner cases it might be useful to allow for libcs file descriptors.