But in Windows drivers are binary files which talk to the kernel through an API. Not much different than a binary user mode application. If binary user mode applications written in GPL are ok, then so should this.
But the actual syscall is made by a Windows user mode library - kernel32.dll/... So your GPL user mode app calls directly into proprietary Windows library.
well, user-mode applications do syscalls to the kernel, not direct function calls.