On Thu, Nov 30, 2017 at 01:16:35PM -0600, Andrew Eikum wrote:
On Thu, Nov 30, 2017 at 07:59:37PM +0100, Jacek Caban wrote:
Hi Andrew,
On 30.11.2017 18:23, Andrew Eikum wrote:
diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c index ca2afa0e89..12b1d0f6c5 100644 --- a/dlls/ntdll/file.c +++ b/dlls/ntdll/file.c @@ -1105,7 +1105,7 @@ NTSTATUS WINAPI NtReadFileScatter( HANDLE file, HANDLE event, PIO_APC_ROUTINE ap
if (send_completion) NTDLL_AddCompletion( file, cvalue, status, total );
- return status;
- return STATUS_PENDING;
Are you sure it should always be a case? Your tests use overlaped file handle, I guess that's what makes differences. At least that's what I've seen with other similar APIs (eg. recent Windows versions always return STATUS_PENDING for ioctls if handle is overlapped).
I thought it was weird that this behaved different from other ntdll functions. I hadn't thought of the file handle type. I'll try with a non-overlapped file and see what changes.
Actually, MSDN says the handle must be created with FILE_FLAG_OVERLAPPED, and a quick test confirms that.
Andrew