How to define "PnP Device is Storage Device"?

If new device is plugged in, how to define would it storage device?
Is it possible defining storage device by its HardwaerID?
Other ways such as ComaptibleIDs etc?

Example:
If DiskOnKey is plugged in, it
…\CurrentControlSet\Services\USBSTOR\Enum receive the new record with
DeviceID. The “USBSTOR” maps USB disk devices. Every device is enumed in
USBSTOR is storage device.

The problem:
“Suspicious” busses: USB, 1394, PCMCIA, Bluetooth (Services: USBSTOR,
sbp2port etc.) What else?
“Suspicious” (known) devices: Disk, CD/DVD, Floppy. What else?
Any combination is possible. For example, USB connected CDROM… :frowning:

I’d prefer to define storage device by HardwareID or other enumeration
information…

Regards,
Michael.

A device is defined as a storage device by the driver that controls it.
This is dependent on the driver’s hardware and/or compatible IDs.

PNP uses the hardware and compatible ID to search INF files and find the
“best” driver for the device.

For a USB device you would want to build a device that follows the USB
mass-storage profile and report the correct descriptors. USB reports a
class ID of mass-storage (can’t remember the number - 6 maybe) which
cause usbstor to take control of the device and expose it as a storage
device.

For 1394 the profile is SBP2.
For PCMCIA you would probably need to look like an ATA controller. I’m
sure there’s a spec somewhere for this but I don’t know where offhand.
Or you could define your own protocol and load a SCSI miniport for it.
This is a lot more work.

Does this help?

-p

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Grabelkovsky,
Michael
Sent: Thursday, March 16, 2006 5:46 AM
To: Windows System Software Devs Interest List
Cc: xxxxx@hotmail.com
Subject: [ntdev] How to define “PnP Device is Storage Device”?

If new device is plugged in, how to define would it storage device?
Is it possible defining storage device by its HardwaerID?
Other ways such as ComaptibleIDs etc?

Example:
If DiskOnKey is plugged in, it
…\CurrentControlSet\Services\USBSTOR\Enum receive the new record with
DeviceID. The “USBSTOR” maps USB disk devices. Every device is enumed in
USBSTOR is storage device.

The problem:
“Suspicious” busses: USB, 1394, PCMCIA, Bluetooth (Services: USBSTOR,
sbp2port etc.) What else?
“Suspicious” (known) devices: Disk, CD/DVD, Floppy. What else?
Any combination is possible. For example, USB connected CDROM… :frowning:

I’d prefer to define storage device by HardwareID or other enumeration
information…

Regards,
Michael.


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

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