diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c index 43e52c6a0ae..d081750bdc8 100644 --- a/dlls/ntdll/file.c +++ b/dlls/ntdll/file.c @@ -847,7 +847,7 @@ NTSTATUS WINAPI NtReadFile(HANDLE hFile, HANDLE hEvent, goto done; } } - else if (type == FD_TYPE_SERIAL) + else if (type == FD_TYPE_SERIAL || type == FD_TYPE_DEVICE) { if (async_read && (!offset || offset->QuadPart < 0)) { @@ -872,6 +872,7 @@ NTSTATUS WINAPI NtReadFile(HANDLE hFile, HANDLE hEvent, { case FD_TYPE_FILE: case FD_TYPE_CHAR: + case FD_TYPE_DEVICE: status = length ? STATUS_END_OF_FILE : STATUS_SUCCESS; goto done; case FD_TYPE_SERIAL: @@ -1265,7 +1266,7 @@ NTSTATUS WINAPI NtWriteFile(HANDLE hFile, HANDLE hEvent, goto done; } } - else if (type == FD_TYPE_SERIAL) + else if (type == FD_TYPE_SERIAL || type == FD_TYPE_DEVICE) { if (async_write && (!offset || (offset->QuadPart < 0 && offset->QuadPart != FILE_WRITE_TO_END_OF_FILE))) diff --git a/dlls/ntdll/tests/om.c b/dlls/ntdll/tests/om.c index fa6f2c33466..a7ac95f814c 100644 --- a/dlls/ntdll/tests/om.c +++ b/dlls/ntdll/tests/om.c @@ -1063,14 +1063,14 @@ static void test_null_device(void) SetLastError(0xdeadbeef); ret = WriteFile(null, buf, sizeof(buf), &num_bytes, NULL); - todo_wine ok(!ret, "WriteFile unexpectedly succeeded\n"); - todo_wine ok(GetLastError() == ERROR_INVALID_PARAMETER, + ok(!ret, "WriteFile unexpectedly succeeded\n"); + ok(GetLastError() == ERROR_INVALID_PARAMETER, "expected ERROR_INVALID_PARAMETER, got %u\n", GetLastError()); SetLastError(0xdeadbeef); ret = ReadFile(null, buf, sizeof(buf), &num_bytes, NULL); ok(!ret, "ReadFile unexpectedly succeeded\n"); - todo_wine ok(GetLastError() == ERROR_INVALID_PARAMETER, + ok(GetLastError() == ERROR_INVALID_PARAMETER, "expected ERROR_INVALID_PARAMETER, got %u\n", GetLastError()); num_bytes = 0xdeadbeef; @@ -1102,7 +1102,7 @@ static void test_null_device(void) ret = GetOverlappedResult(null, &ov, &num_bytes, TRUE); ok(!ret, "GetOverlappedResult unexpectedly succeeded\n"); } - todo_wine ok(GetLastError() == ERROR_HANDLE_EOF, + ok(GetLastError() == ERROR_HANDLE_EOF, "expected ERROR_HANDLE_EOF, got %u\n", GetLastError()); pNtClose(null);