Ok, there is 2 questions here :
1) How can I make it appear as a USB drive instead?
It's depends on device itself. I can see 2 options.
- Device support writing, but represent itself as CDROM and read only. In this case you just need to tweak the device descriptor and you will get working storage device.
- Device does not implement write and nothing can be done.
By tweaking device descriptor i mean filter driver that will receive device descriptor and will pass a modified one to Windows. Writing filter driver is not very hard and you can find an examples of filter driver in Driver development Kit. A basic understanding of USB protocol will be needed as well.
2) Conversely, if I wanted to do the same thing for myself, how would I make it appear as a CD drive?
Basically same, filter driver that will change the device descriptor to be recognized by CDROM device, but in additional once Windows will recognize CDROM it will send additional SCSI commands to device. Ideally device will just return unsupported command and it's OK, but from my experience most devices are not generic enough and the behavior will be undefined. In this case you will need additional filter driver that will catch this additional commands and will complete the commands without actually sending them to device.
P.S
My answer assume that you don't have access to device firmware, If you do have access to firmware it's really easy to accomplish by modifying device descriptor and making sure that not supported commands are handled correctly.
P.P.S
I don't provide any links to resources since i don't think that practically you going to implement this. If I'm wrong let me know and i will provide relevant resources. Ok one link with general information
it is related. More to embedded programming of the device, but still programming. – Ilya – 2009-01-11T11:44:25.283
Haven't had time to check into any of these answers; I'll check back next week, I hope. – mmyers – 2009-01-18T05:02:05.490
...or not. (The drive is still plugged in, I just still haven't had time to mess with it.a) – mmyers – 2009-04-10T21:59:05.780
This is probably due to the drivers for the actual drive its self. – Tom Anderson – 2009-01-10T18:11:11.820
You're saying it's hopeless unless I write my own drivers? – mmyers – 2009-01-10T18:14:48.020