Let me preface my question by saying that I’m brand new to Windows driver
development. I’m not new to programming or Windows programming, and I even
spent a few years at Microsoft where part of my job was doing some kernel
crash dump analysis, so I’m somewhat familiar with the kernel and how
drivers work.
I am developing a USB peripheral for which I have determined isochronous
transfers are appropriate. Because my device is going to be used by
hobbyists and do-it-yourselfers, this device is likely to be used on older
machines running older operating systems. I need to create a device driver
that’ll run on Windows 2000 and later (and possibly some flavors of Win9x)
OSes and let me send isochronous transfers to the device.
I built a W2K VM for driver development and downloaded and installed the DDK
version 3790.1830. When I installed, I chose to install the USB samples.
When I go to the W2K Build environment and run build -cZ on this machine,
the “isousb” demo does not get built. When I go into the Windows XP build
environment, I do get a build of this sample code.
Am I doing something wrong? Can the XP build be used on a Windows 2000
machine? How about Win9x machines? Did I even install the right DDK for my
goals? Is this sample even supposed to build in the W2K build environment?
While answers to the above questions are greatly appreciated, any pointers
to show me how I could have answered these questions without coming to the
list are also greatly valued.
Thanks,
-Matthew
Matthew Mucker wrote:
I am developing a USB peripheral for which I have determined isochronous
transfers are appropriate.
You’ll get better bandwidth using a bulk pipe.
Because my device is going to be used by
hobbyists and do-it-yourselfers, this device is likely to be used on older
machines running older operating systems. I need to create a device driver
that’ll run on Windows 2000 and later (and possibly some flavors of Win9x)
OSes and let me send isochronous transfers to the device.
I built a W2K VM for driver development and downloaded and installed the DDK
version 3790.1830. When I installed, I chose to install the USB samples.
That DDK is almost 4 years old. You might be better served using the WDK.
When I go to the W2K Build environment and run build -cZ on this machine,
the “isousb” demo does not get built. When I go into the Windows XP build
environment, I do get a build of this sample code.
Yes. If you look at the “src\wdm\usb\isousb\sys\makefile”, you’ll see
that it only allows itself to be build in the XP build environment (or
newer). You could certainly try removing this limitation to see if
there is something that won’t build in the Win2K environment.
Am I doing something wrong? Can the XP build be used on a Windows 2000
machine? How about Win9x machines? Did I even install the right DDK for my
goals? Is this sample even supposed to build in the W2K build environment?
In many cases, a driver built in the XP environment can be run in 2000.
It depends on whether it uses any new APIs. I don’t think the isousb
sample is particularly sophisticated, so the odds are good. The same
applies to Win98. I’d be more comfortable if I were building in the
2000 environment, however.
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.
Matthew,
There is a document under the help menu of that DDK that tells you the
correct environments for all the samples. ISOUSB is for XP and later. For
anything other than Win9x I would get the latest WDK and use it. The tools
and documentation are much better. In addition, if you can live without
Win9x look seriously at KMDF and if you can live with the more restricted OS
choices UMDF.
–
Don Burn (MVP, Windows DDK)
Windows Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr
Remove StopSpam to reply
“Matthew Mucker” wrote in message news:xxxxx@ntdev…
> Let me preface my question by saying that I’m brand new to Windows driver
> development. I’m not new to programming or Windows programming, and I even
> spent a few years at Microsoft where part of my job was doing some kernel
> crash dump analysis, so I’m somewhat familiar with the kernel and how
> drivers work.
>
> I am developing a USB peripheral for which I have determined isochronous
> transfers are appropriate. Because my device is going to be used by
> hobbyists and do-it-yourselfers, this device is likely to be used on older
> machines running older operating systems. I need to create a device driver
> that’ll run on Windows 2000 and later (and possibly some flavors of Win9x)
> OSes and let me send isochronous transfers to the device.
>
> I built a W2K VM for driver development and downloaded and installed the
> DDK
> version 3790.1830. When I installed, I chose to install the USB samples.
>
> When I go to the W2K Build environment and run build -cZ on this machine,
> the “isousb” demo does not get built. When I go into the Windows XP build
> environment, I do get a build of this sample code.
>
> Am I doing something wrong? Can the XP build be used on a Windows 2000
> machine? How about Win9x machines? Did I even install the right DDK for my
> goals? Is this sample even supposed to build in the W2K build environment?
>
> While answers to the above questions are greatly appreciated, any pointers
> to show me how I could have answered these questions without coming to the
> list are also greatly valued.
>
> Thanks,
>
> -Matthew
>
>
>