[PATCH 1/4] Handle FSCTL in NtDeviceIoControlFile.
Alex Xu (Hello71)
alex_y_xu at yahoo.ca
Mon Jul 26 09:13:12 CDT 2021
Excerpts from Chip Davis's message of July 25, 2021 4:06 pm:
> Needs tests showing that FSCTLs do indeed work with NtDeviceIoControlFile().
Yes, I see your point.
It looks like it should be simple to add NtDeviceIoControlFile in
dlls/ntdll/tests/file.c, but I was wondering: there don't seem to be any
tests already, and it seems like it should make more sense to add a test
for DeviceIoControl instead (since that is what most applications will
However, looking at that, there are two implementations of
DeviceIoControl, in kernelbase and kernel32. Why doesn't the kernel32
one forward to kernelbase like most kernel32 functions? Also, why is the
kernelbase function different from the kernel32 function? I don't know
anything about VxDs, but it seems odd that the kernel32 one uses
Information only for non-overlapped IO, but kernelbase uses it for
overlapped too. Actually, looking at dlls/ntdll, it doesn't seem like
InternalHigh is actually used for anything? It seems like it might
happen to work on little-endian machines by chance due to alignment of
OVERLAPPED and IO_STATUS_BLOCK, but this doesn't seem like a reliable
I checked git history, seems like InternalHigh should actually be
Information everywhere? Thoughts?
More information about the wine-devel