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.