[Bug 40311] New: Processing of 'DeviceIoControl' calls doesn't corresponds to specification
wine-bugs at winehq.org
wine-bugs at winehq.org
Tue Mar 15 09:57:45 CDT 2016
https://bugs.winehq.org/show_bug.cgi?id=40311
Bug ID: 40311
Summary: Processing of 'DeviceIoControl' calls doesn't
corresponds to specification
Product: Wine
Version: unspecified
Hardware: x86-64
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: ntoskrnl
Assignee: wine-bugs at winehq.org
Reporter: ugnenko at mail.ru
Distribution: ---
As described in specification 'Buffer Descriptions for I/O Control Codes' for
'METHOD_IN_DIRECT' or 'METHOD_OUT_DIRECT' transfer types the data buffer, to
which points the pointer passed as 'lpOutputBuffer' argument into
'DeviceIoControl', must be accessible from driver. In other words, when in
control code is specified 'METHOD_IN_DIRECT' tranfer type, the 'lpOutputBuffer'
buffer may be used as the additional buffer of data that driver may transfer to
device. This feature is used in software and drivers for Hantek Oscilloscopes.
The pointer 'lpOutputBuffer' and argument 'nOutBufferSize', which are passed to
'DeviceIoControl' function, must are used as corresponding values for fields
'StartVa', 'ByteOffset' and 'ByteCount' in 'irp->MdlAddress' structure.
But Wine allocates new output buffer that are passed to
'IoBuildDeviceIoControlRequest' (see function 'dispatch_ioctl' in source file
'dlls/ntoskrnl.exe/ntoskrnl.c'). Thus data stored in output buffer aren't
available for driver.
Specification:
https://msdn.microsoft.com/en-us/library/windows/hardware/ff540663(v=vs.85).aspx
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
More information about the wine-bugs
mailing list