WDK6000 PCI driver can not installed in XP OS

Hi All,

I have built a PCI vedio card driver with WDK6000,it can be installed in the Vista operating system and work properly.But in Windows XP OS,it can not be installed,error code is 39,“Windows could not load the device driver”.

Well,I installed WDK6000 in XP OS and select “Build Environments” “Windows XP”,then build it.It can not be installed ,error code is 39 also.

But in Microsoft document “Developing Drivers with the Windows Driver Foundation” Chapter 19,it says:“KMDF drivers can be installed on Windows 2000 and later versions of Windows”.

So where’s the problem may exist ?Such as “.inf File is not correct” and so on.

Any help is appreciated.Thanks.

Best Regards
Zhou ChengJun

zhou chengjun wrote:

I have built a PCI vedio card driver with WDK6000,it can be installed in the
Vista operating system and work properly.But in Windows XP OS,it can not
be installed,error code is 39,“Windows could not load the device driver”.

Sounds like you didn’t add the section about the KMDF coinstaller to your INF. Vista includes the KMDF bits so your driver will likely install without the coinstaller section.

xxxxx@yahoo.com.cn wrote:

I have built a PCI vedio card driver with WDK6000,it can be installed in the Vista operating system and work properly.But in Windows XP OS,it can not be installed,error code is 39,“Windows could not load the device driver”.

Well,I installed WDK6000 in XP OS and select “Build Environments” “Windows XP”,then build it.It can not be installed ,error code is 39 also.

But in Microsoft document “Developing Drivers with the Windows Driver Foundation” Chapter 19,it says:“KMDF drivers can be installed on Windows 2000 and later versions of Windows”.

So where’s the problem may exist ?Such as “.inf File is not correct” and so on.

When you say “PCI vedio card driver”, what do you mean, exactly? To me,
a video card is a graphics display card, and drivers for graphics cards
are not KMDF.


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

To Chris Aseltine:Thank you for your answer.Well,I have add the section about the KMDF coinstaller in my INF.The driver can be installed in Vista,but it can not be installed in XP whether or not the INF have the section about the KMDF coinstaller.

Tim Roberts,Thank you for your answer.Well,exactly say it’s TI TMS320C6000 DSP(a DSP Chip) driver.Our card used TMS320C6000 to do vedio Video Compression.TMS320C6000 has PCI port,so we must have a driver for it.Thanks for your reply.

xxxxx@yahoo.com.cn wrote:

Tim Roberts,Thank you for your answer.Well,exactly say it’s TI TMS320C6000 DSP(a DSP Chip) driver.Our card used TMS320C6000 to do vedio Video Compression.TMS320C6000 has PCI port,so we must have a driver for it.

Interesting. How are you exposing this to the system? I would have
expected you to do an AVStream driver. Did you write a custom driver,
and then call it from a user-mode transform filter?


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

Tim,Well,I’m sorry I can not understand all your words.My driver is a bit like the PLX9x5x sample that WDK6000 provides.What’s "an AVStream driver"mean,can you say more detail?Thanks a lot.

On http://www.microsoft.com/whdc/resources/blogs.mspx, the first section is devoted to driver development. Five of the seven blogs are from members of the WDF team (mine is the last and probably the least). The first one (driver writing != bus driving) is by the developer currently responsible for the installation technology and has very recent artivcles about how to diagnose installation problems. Other articles of his also point to other resources for understanding and troubleshooting installation issues. Doron (A Hole in my Head) has also made several entries on the subject. My own (Trouble Ahead- Trouble Behind) describes some of the things I have done (as an illustration) to troubleshoot customer and developer installation issues.

I believe our installation success rate is enviable- I don’t know how many decimal places of 9s we have, but we are definitely well past the decimal point. We do our best to investigate and diagnose every problem we know of. For KMDF and UMDF 1.7 we’ve made a number of improvements [some of which Ilias has described in his blog]. We’re not perfect, but we’re hardly slackers.

If there are install problems during the develpment phase, the overwhelming primary cause is INF errors.

All that said, here’s a synopsis of where to begin for WinXP:

%windir%\setupapi.log- this is produced by setupapi and tracks the overall instalation process.
%windir%\setupact.log- our coinstaller writes messages here describing what it has decided to do and why.
%windir%wdf01005nst.log (assuming 1.5 (WDK 6000) is the KMDF version you are using- it will match your coinstaller name for any KMDF version)- this is where our update packages will report its actions.

If the last file is missing it almost always means your INF isn’t correct.

If you can’t understand them, post them here- the community has plenty of experience with KMDF and can probably solve it for you.

If they do not, several members of the WDF team also look on and can cover it.

If that doesn’t work (and I have this guidance several times now in my blog and posts here), send them to xxxxx@microsoft.com, and someone will look into it.

If for some weird reason that doesn’t work, you can use the “email me” links on any one of those blogs and reach one of us directly. I in particular will promise that we can solve the problem if nobody else can or will [unless it is utterly insoluble, which so far hasn’t happened], even if I have to do it myself, and I currently have the work of three to do [sort of], due to staffing issues.

If you’re using WDF, as much as we can, we’ll cover your back. But it is good to try something like NTDEV first, because there’s a lot more of you than there is of us, and these folks are very good at what they do…

'Nuff said? Maybe not- if perchance I’ve come across as patronizing or dismissive of the expertise on this list, then that’s my error in my zeal to make sure that OP knows that if all else fails we’re here to back you up. My apologies in such event.

xxxxx@yahoo.com.cn wrote:

Tim,Well,I’m sorry I can not understand all your words.My driver is a bit like the PLX9x5x sample that WDK6000 provides.What’s "an AVStream driver"mean,can you say more detail?Thanks a lot.

Well, then, how do applications use your capture device? Did you create
an entirely custom interface?

One of the huge benefits of using the appropriate driver interface (like
AVStream for video devices) is that your device can instantly be used by
all of the video capture applications in the world. You have a built-in
customer base. When you define a custom interface, you have to create
the user base from scratch. You have to deliver applications for people
to use.


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