[PATCH 4/4] hidclass.sys: Delay creating a child device until IRP_MN_START_DEVICE.

Zebediah Figura (she/her) zfigura at codeweavers.com
Mon Apr 19 23:36:04 CDT 2021


On 4/19/21 3:12 PM, Alexandre Julliard wrote:
> Zebediah Figura <z.figura12 at gmail.com> writes:
> 
>> This is necessary to allow the Hauppauge CIR receiver driver for cx2310x drivers
>> (hcw10cir.sys) to start.
>>
>> Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
>> ---
>> Tested with a Hauppauge 955Q (2040:b123), installed using WinTV 8.5. Note
>> however that the driver still does not run with upstream Wine; it needs an
>> additional patch to expose composite device interfaces from wineusb (or from a
>> layered driver on top of wineusb).
>>
>>   dlls/hidclass.sys/pnp.c              | 91 +++++++++++++++++-----------
>>   dlls/ntoskrnl.exe/tests/driver_hid.c |  3 +-
>>   2 files changed, 57 insertions(+), 37 deletions(-)
> 
> This breaks the tests here:
> 
> tools/runtest -q -P wine -T . -M ntoskrnl.exe -p dlls/ntoskrnl.exe/tests/ntoskrnl.exe_test.exe ntoskrnl && touch dlls/ntoskrnl.exe/tests/ntoskrnl.ok
> ntoskrnl.c:1696: Subtest driver
> ntoskrnl.c:1739: Subtest driver_netio
> ntoskrnl.c:1742: Subtest driver_pnp
> ntoskrnl.c:1745: Subtest driver_hid
> ntoskrnl.c:1520: Test failed: failed to get interface, error 0x103
> ntoskrnl.c:1521: Test failed: wrong class {00000000-0000-0000-0000-000000000000}
> ntoskrnl.c:1523: Test failed: got flags 0
> ntoskrnl.c:1527: Test failed: failed to get interface path, error 0x57
> make: *** [Makefile:97794: dlls/ntoskrnl.exe/tests/ntoskrnl.ok] Error 4
> 

Ouch. It seems I nearly broke all wine HID devices completely. On the 
plus side, the third-party driver I was trying to fix still works.



More information about the wine-devel mailing list