Re: [nik] [solved] Driver not unloading under XP

>The original code was keeping a double linked list of structures that were stored in each devices

context. When an IOCTL came into the CDO, it would traverse this list, match up the structure based

This is normal.

To me, this was a bit crazy so I removed all of that and implemented a collection.

For what? list is a collection, and does not require reallocations on additions. Reallocations can fail.

Ever heard on IOCTL code collisions? if you will implement some IOCTL on a real device, then you can collide with another vendor’s code.

So, make your own CDO with a GUID-based name, and send all IOCTLs there (and only there).


Maxim S. Shatskih
Windows DDK MVP
xxxxx@storagecraft.com
http://www.storagecraft.com