diff --git a/lib/std/os/windows.zig b/lib/std/os/windows.zig index 4249205a34..346eab7915 100644 --- a/lib/std/os/windows.zig +++ b/lib/std/os/windows.zig @@ -132,6 +132,7 @@ pub fn DeviceIoControl( overlapped, ) == 0) { switch (kernel32.GetLastError()) { + ERROR.IO_PENDING => if (overlapped == null) unreachable, else => |err| return unexpectedError(err), } } diff --git a/lib/std/os/windows/kernel32.zig b/lib/std/os/windows/kernel32.zig index 82dd03b829..954261bd1b 100644 --- a/lib/std/os/windows/kernel32.zig +++ b/lib/std/os/windows/kernel32.zig @@ -59,7 +59,7 @@ pub extern "kernel32" stdcallcc fn DeviceIoControl( nInBufferSize: DWORD, lpOutBuffer: ?LPVOID, nOutBufferSize: DWORD, - lpBytesReturned: LPDWORD, + lpBytesReturned: ?*DWORD, lpOverlapped: ?*OVERLAPPED, ) BOOL;