I have a driver using MiniPortWaveCyclic. After initializing the port driver (PcInitializeAdapterDriver) I stash a copy of driver->DriverUnload and overwrite it with my own unload handler. I set a watchpoint on the field and note that it never gets overwritten. However, when I unload my driver, I notice the subdevices I created getting removed by the port driver but my custom DriverUnload function is never executed. Why is driver->DriverUnload not getting called when my driver is unloaded? -TimN