Windows XP Mode (Windows Virtual PC)

I wrote a driver that installs and functions correctly on Windows XP (SP2/SP3). However, it does not install correctly on “Windows XP Mode” (Windows Virtual PC) which reports to be just Windows XP SP3. The problem is “Device not started: Device has problem: 0x27: CM_PROB_DRIVER_FAILED_LOAD.” and indeed, function DeviceAdd is not called. Any idea what might be the difference between a clean XPSP3 installation and the above installation?

Is this a kmdf driver? are you installing the kmdf runtime?

What kind of a driver? PNP? Filter? Legacy?

Gary G. Little
H (952) 223-1349
C (952) 454-4629
xxxxx@comcast.net

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@gmail.com
Sent: Saturday, January 29, 2011 1:31 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] Windows XP Mode (Windows Virtual PC)

I wrote a driver that installs and functions correctly on Windows XP
(SP2/SP3). However, it does not install correctly on “Windows XP Mode”
(Windows Virtual PC) which reports to be just Windows XP SP3. The problem
is “Device not started: Device has problem: 0x27:
CM_PROB_DRIVER_FAILED_LOAD.” and indeed, function DeviceAdd is not called.
Any idea what might be the difference between a clean XPSP3 installation and
the above installation?


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

__________ Information from ESET Smart Security, version of virus signature
database 5830 (20110129) __________

The message was checked by ESET Smart Security.

http://www.eset.com

Given that it has a ‘DeviceAdd’ (which I assume is ‘AddDevice’), I guess it
is a enumerated PNP driver of some sort, but what’s the actual device type -
USB, et. c.? I don’t know what sort of devices XP mode supports, but it
wouldn’t be the strangest thing if it didn’t support a specific device type.

mm

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Gary G. Little
Sent: Saturday, January 29, 2011 3:00 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Windows XP Mode (Windows Virtual PC)

What kind of a driver? PNP? Filter? Legacy?

Gary G. Little
H (952) 223-1349
C (952) 454-4629
xxxxx@comcast.net

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@gmail.com
Sent: Saturday, January 29, 2011 1:31 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] Windows XP Mode (Windows Virtual PC)

I wrote a driver that installs and functions correctly on Windows XP
(SP2/SP3). However, it does not install correctly on “Windows XP Mode”
(Windows Virtual PC) which reports to be just Windows XP SP3. The problem
is “Device not started: Device has problem: 0x27:
CM_PROB_DRIVER_FAILED_LOAD.” and indeed, function DeviceAdd is not called.
Any idea what might be the difference between a clean XPSP3 installation and
the above installation?


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

__________ Information from ESET Smart Security, version of virus signature
database 5830 (20110129) __________

The message was checked by ESET Smart Security.

http://www.eset.com


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

This is a virtual KMDF (1.5) device. It is based of hidusbfx2. I’d like to stress the point that the very same package installs on clean XP SP3 machines so there must be some fundamental difference between “Windows XP Mode” and a ‘real’ XP machine.
Perhaps it is not worth the time fixing this problem if it occurs only there, but I fear that this occurance reveals a real problem.

wrote in message news:xxxxx@ntdev…
> This is a virtual KMDF (1.5) device. It is based of hidusbfx2. I’d like
> to stress the point that the very same package installs on clean XP SP3
> machines so there must be some fundamental difference between “Windows XP
> Mode” and a ‘real’ XP machine.
> Perhaps it is not worth the time fixing this problem if it occurs only
> there, but I fear that this occurance reveals a real problem.
>

Try to repro this on VMware. If it won’t repro, can be a problem with the
“XP mode”.
–pa

I have partially solved the problem. However, I don’t really understand it. Hope someone could shed some light on this.

Solution:
For some reason, “XP mode” installation lack two important files: hidclass.sys & HidParse.sys. This was the case in Win2k and this is why the following lines were added to hidusbfx2.inx:

[CopySystemSysFiles]
HidClass.sys,0x00000010 ;COPYFLG_NO_OVERWRITE (for win2k)
HidParse.sys,0x00000010 ;COPYFLG_NO_OVERWRITE (for win2k)

Adding these lines solved the problem. However - now I have a problem on Vista x64. Naturally, I can use some decorations to activate the above entry only for XP. Nevertheless I’s like to understand the Vista x64 problem.

Here’s the relevant part from file setupapi.dev.log:

{_COMMIT_FILE_QUEUE}
flq: CommitQ DelNodes=0 RenNodes=0 BackNodes=0 CopyNodes=5
flq: {SPFILENOTIFY_STARTQUEUE}
flq: {SPFILENOTIFY_STARTQUEUE - exit(0x00000001)}
flq: {SPFILENOTIFY_STARTSUBQUEUE}
flq: {SPFILENOTIFY_STARTSUBQUEUE - exit(0x00000001)}
flq: SPFILENOTIFY_NEEDMEDIA:
flq: SourcePath - [C:\Windows\System32\DriverStore\FileRepository\input.inf_85616b02?>]
flq: SourceFile - [HidClass.sys]
flq: Flags - 0x00000000
flq: {SPFILENOTIFY_NEEDMEDIA}
flq: {SPFILENOTIFY_NEEDMEDIA - exit(0x00000000)}
!!! flq: SPFILENOTIFY_NEEDMEDIA: returned FILEOP_ABORT.
!!! flq: Error 123: The filename, directory name, or volume label syntax is incorrect.
flq: {SPFILENOTIFY_ENDQUEUE}
flq: {SPFILENOTIFY_ENDQUEUE - exit(0x00000001)}
! bak: Install failed, attempting to restore original files.
flq: {_COMMIT_FILE_QUEUE exit(0x0000007b)}

I did look into the above folder and found there file HidClass.sys. What might be the problem?

xxxxx@gmail.com wrote:

I have partially solved the problem. However, I don’t really understand it. Hope someone could shed some light on this.

Solution:
For some reason, “XP mode” installation lack two important files: hidclass.sys & HidParse.sys. This was the case in Win2k and this is why the following lines were added to hidusbfx2.inx:

[CopySystemSysFiles]
HidClass.sys,0x00000010 ;COPYFLG_NO_OVERWRITE (for win2k)
HidParse.sys,0x00000010 ;COPYFLG_NO_OVERWRITE (for win2k)

Adding these lines solved the problem.

Maybe, but that’s not the right way to solve it. The right solution is
to add this in your [xxxx] or [xxxx.NT] section:
Includes=input.inf
Needs=HID_Inst.NT


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

Tim,
This has saved me days (who’d thought that the MS example is just incorrect). I have a small correction though: It should be “include” rather than “includeS”. So, for the benefit of whoever uses file hidusbfx2.inx from MS example hidusbfx2:
You need to add 2 lines and comment out 3 -

[hidusbfx2.Inst.NT]
CopyFiles = CopySystemSysFiles, CopyFunctionDriver, CopyFilesDLL
Include = input.inf ; Add This
Needs = HID_Inst.NT ; Add This

[CopySystemSysFiles]
;HidClass.sys,0x00000010 ;COPYFLG_NO_OVERWRITE (for win2k) - Comment out
;HidParse.sys,0x00000010 ;COPYFLG_NO_OVERWRITE (for win2k) - Comment out

[CopyFilesDLL]
;Hid.dll,0x00000010 ;COPYFLG_NO_OVERWRITE (for win2k) - Comment out