[Bug 9484] ProtectDISC 6.x: media validation fails (Mathetrainer 5)

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Jul 3 15:05:40 CDT 2011


http://bugs.winehq.org/show_bug.cgi?id=9484

--- Comment #60 from Anastasius Focht <focht at gmx.net> 2011-07-03 15:05:38 CDT ---
Hello,

good work so far ... if you get the "kernel" debug register emulation patch
committed in GIT the easy part is done.

--- snip ---
fixme:ntoskrnl:IoGetDeviceObjectPointer stub: L"\\DosDevices\\D:"
--- snip ---

That's where the hard part begins.
Wine needs to support/implement layered driver infrastructure because this 
driver depends on it.

Judging from the list Austin Lund posted in comment #59 the sequence for this
driver would be:

(1) get target device object (topmost attached device in stack) ->
IoGetDeviceObjectPointer (\\DosDevices\\D: or more general
\\DosDevices\\CdRom0)
(2) get attached device -> IoGetAttachedDevice (target device object from (1) )
(3) build IRP for device -> IoBuildSynchronousFsdRequest (for attached device)
(4) call the lower layer driver -> IoCallDriver (IRP)
(5) wait for IRP to be completed (needs KeWaitForXXX with kevent)
(6) profit!

That's simplified but should be basically what the driver expects.

You need an extra "disk" driver which "houses" the device objects and processes
ioctls (not mountmgr).

You could join forces with people trying to get USB stack into Wine ;-)

---

Some hints to improve trace log generation...

Disable automatic ProtectDisc kernel driver start -> set to manual start (so it
gets started by app):

--- snip ---
$ wine reg add "HKLM\System\CurrentControlSet\Services\ACEDRV05" /v Start /t
REG_DWORD /d 3 /f
--- snip ---

When doing app start with tracing: 

-> disable winemenubuilder
-> use "append" mode

--- snip ---
$ WINEDLLOVERRIDES="winemenubuilder.exe=d" WINEDEBUG=+tid,+seh,+relay,+ntoskrnl
wine ./Mathetrainer.exe >>log.txt 2>&1
--- snip ---

This should get you smaller and better readable logs ;-)

Regards

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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