Dear all,

According to the USB spec, keyboard/mouse devices are belong to HID
class
and modem is belong to CDC class. From the USB client driver's view,
what's the major difference between HID class and CDC class?
Thanks!!

Kemin

RE: Problem about different class's USB client driver.... by RobertMagyar

RobertMagyar
Tue Dec 14 12:35:03 CST 2004

Basically, the purpose of a class driver, is to provide a range of basic
services, for a group of similar devices. So if you have a device, that is
identified as a mouse, you can get basic pointing functions, if you have a
hid driver installed.

If you go to usb.org, you can download the usb device class drivers specs,
and review them. Note, different working groups, created different class
drives specs, and some were created a while back and are quite out of date.

Robert

"kemin" wrote:

> Dear all,
>
> According to the USB spec, keyboard/mouse devices are belong to HID
> class
> and modem is belong to CDC class. From the USB client driver's view,
> what's the major difference between HID class and CDC class?
> Thanks!!
>
> Kemin

Re: Problem about different class's USB client driver.... Offtopic by Vicky

Vicky
Fri Dec 17 00:27:57 CST 2004

Hi
I am new to Win CE and a fresher to device drivers. I have to migrate a NDIS
miniport driver (for WLAN adapter card) from Windows XP to Windows CE. The
adapter card has USB interface.

I was also told that the USB stack is completely different in WinCE. If that
is the case, what is it? I could not find any documentation about this. Can
someone provide me the same?

I have setup a CEPC where I can connect the card and it asks driver for the
USB device. I wrote a simple driver that communicates with the device using
USB_FUNCS table passed in DllEntry(). So far so good.

Since NDIS architecture is not different in WinCE, I thought migration part
should not be tricky. But when I studied the Win XP driver source code, I
found that there are a lot of things different or not present in WinCE. I
have listed few of them below:

1. There are some IRP related calls.
2. IRQL related calls (KeGetCurrentIRQL, KeRaiseIRQL, KeLowerIRQL)
3. I/O routines using USB request block (URB).
4. and many more

I could not find these calls in the PlatformBuilder help of any WinCE
header/library files. But, I could see that using the functions defined in
USB_FUNCS, I can accomplish the task of communicating with the device. But
how do I get a handle to USB_FUNCS in the miniportXXX handlers?

Do I have to write 2 separate driver? One that enumerates the device and a
miniport driver where the enumerator passes me the pointer to USB_FUNCS?

Can someone send me a sample of registry keys that I need?

Any help will be highly appreciated.

Regards

Vicky

"kemin" <kemin@discussions.microsoft.com> wrote in message
news:AE55EF76-EFB7-4F0B-95D6-EBF0CF2ED657@microsoft.com...
> Dear all,
>
> According to the USB spec, keyboard/mouse devices are belong to HID
> class
> and modem is belong to CDC class. From the USB client driver's
view,
> what's the major difference between HID class and CDC class?
> Thanks!!
>
> Kemin