NT Status vs. Dos Error code in async operations
Martin Wilck
Martin.Wilck at fujitsu-siemens.com
Wed Apr 10 06:51:17 CDT 2002
Hi,
If my understanding of the MS docs is correct, the status
of overlapped requests is stored as an NT status in
lpOverlapped->Internal (As Mike implemented it). The error code returned
by GetOverlappedResult() or passed to the completion routine, though,
is a DOS error code. Thus in priciple we'd need to convert the status
with RtlNtStatusToDosError(), right ?
Moreover, if our async read()/write() operations fail, we simply set
the status to STATUS_UNSUCCESSFUL which translates to ERROR_GEN_FAILURE -
not very meaningful to our users.
What we'd need would consequently be a errno->NT status converter to
set the overlapped status correctly from the error reported by read or
write.
I can't seem to find one in the wine code (??). There only seem to be
local errno -> DOS error converters, and no DOS error->Nt status
converter.
What should we do?
Martin
--
Martin Wilck Phone: +49 5251 8 15113
Fujitsu Siemens Computers Fax: +49 5251 8 20409
Heinz-Nixdorf-Ring 1 mailto:Martin.Wilck at Fujitsu-Siemens.com
D-33106 Paderborn http://www.fujitsu-siemens.com/primergy
More information about the wine-devel
mailing list