http://bugs.winehq.org/show_bug.cgi?id=27400
Summary: SecuROM 4.x/5.x helper driver needs ntoskrnl.exe.IoSetThreadHardErrorMode stub Product: Wine Version: 1.3.21 Platform: x86 OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: ntoskrnl AssignedTo: wine-bugs@winehq.org ReportedBy: focht@gmx.net
Hello,
the driver is part of SecuROM 4.x/5.x and dynamically extracted and loaded if "\Device\CdRom0" is present (cdrom0 -> /dev/cdrom via manually created symlink in dosdevices). The driver isn't particularly useful as of now but it shouldn't crash.
--- snip --- ... 0021:Call KERNEL32.CreateFileA(0032ce0c "C:\users\focht\Temp\pfsvgae.sys",40000000,00000000,00000000,00000002,00000000,00000000) ret=00486114 0021:Ret KERNEL32.CreateFileA() retval=00000080 ret=00486114 ... 0021:Call advapi32.CreateServiceA(00161bc8,0032d00c "pfsvgae",0032d00c "pfsvgae",000f01ff,00000001,00000003,00000001,0032ce0c "C:\users\focht\Temp\pfsvgae.sys",00000000,00000000,00000000,00000000,00000000) ret=00487aae ... fixme:ntoskrnl:IoGetDeviceObjectPointer stub: L"\Device\CdRom0" 0 0x53e20c 0x53e1e8 fixme:ntoskrnl:IoRegisterDriverReinitialization stub: 0x787a54a0 0x541a6f (nil) fixme:ntoskrnl:IoGetDeviceObjectPointer stub: L"\Device\LanmanRedirector" 1 0x53e21c 0x53e218 fixme:ntoskrnl:IoGetDeviceObjectPointer stub: L"\Device\NetWareRedirector" 1 0x53e21c 0x53e218 wine: Call from 0x7b838b9b to unimplemented function ntoskrnl.exe.IoSetThreadHardErrorMode, aborting wine: Unimplemented function ntoskrnl.exe.IoSetThreadHardErrorMode called at address 0x7b838b9b (thread 0028), starting debugger... wine: Call from 0x7b838b9b to unimplemented function ntoskrnl.exe.IoSetThreadHardErrorMode, aborting --- snip ---
MSDN: http://msdn.microsoft.com/en-us/library/ff550342.aspx
The driver uses the IoSetThreadHardErrorMode API as follows:
--- snip pseudo code --- old_harderror = IoSetThreadHardErrorMode( FALSE); // device: L"\DosDevices\C:\" ... L"\DosDevices\D:\" ... ZwCreateFile( ... device ... ) IoSetThreadHardErrorMode( old_harderror) --- snip pseudo code ---
This is to prevent a message box like "There is no disk in the drive. Please insert a disk into drive x" or "Windows cannot access the specified device, path or file." from being shown when the device link is not present or no cdrom is inserted. The driver iterates through all possible drive letters regardless if applicable or not.
The return value doesn't really matter for now.
Regards
http://bugs.winehq.org/show_bug.cgi?id=27400
--- Comment #1 from Austin English austinenglish@gmail.com 2011-06-05 16:00:04 CDT --- http://source.winehq.org/patches/data/74962
http://bugs.winehq.org/show_bug.cgi?id=27400
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #2 from Austin English austinenglish@gmail.com 2011-06-06 15:24:33 CDT --- Fixed by http://source.winehq.org/git/wine.git/commitdiff/cd22aa18a628358d64c655d21f9...
http://bugs.winehq.org/show_bug.cgi?id=27400
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #3 from Alexandre Julliard julliard@winehq.org 2011-06-10 13:17:33 CDT --- Closing bugs fixed in 1.3.22.
http://bugs.winehq.org/show_bug.cgi?id=27400
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |obfuscation Fixed by SHA1| |cd22aa18a628358d64c655d21f9 | |d5f380304ab1a
--- Comment #4 from Anastasius Focht focht@gmx.net 2011-10-11 14:57:44 CDT --- Hello,
filling/correcting fields ...
Regards