[PATCH 1/3] ntdll: NtReadFileScatter results are reported asynchronously

Andrew Eikum aeikum at codeweavers.com
Thu Nov 30 13:16:35 CST 2017


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.

Thanks,
Andrew



More information about the wine-devel mailing list