Hello! In my driver (a WavePci audio driver) I use an additional DeviceObject with a SymbolicLink to access the driver directly via DeviceIoControl. To do this I create Wrappers for IRP_MJ_CREATE, IRP_MJ_CLOSE and IRP_MJ_DEVICE_CONTROL and replace it with the functions initialised by PortClass. When the DeviceObject is NOT the additional, I call the original functions, otherwise I work on my additional Device. This works fine until I disable the card in the "Device Manager": In the Destructor of the AdapterCommon (which seems to be called in IRP_MN_REMOVE_DEVICE) I do STATUS_DELETE_PENDING for all chained IRP's, IoDeleteSymbolicLink and IoDeleteDevice for my additional device, but the driver gets not unloaded from memory when a handle was open on the SymbolicLink. Next time I enable the card in the "Device Manager" I have a UNEXPECTED_KERNEL_MODE_TRAP (with P1=8 double fault). When I close my application which has a handle un the additional device before I disable the card, no problem, the driver gets out of memory. Any ideas ? By the way, is it a problem with WHQL to have an additional device ? Markus __________________________________ Do you Yahoo!? Yahoo! Hotjobs: Enter the "Signing Bonus" Sweepstakes http://hotjobs.sweepstakes.yahoo.com/signingbonus ****************** WDMAUDIODEV addresses: Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx Subscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe Unsubscribe: mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe Moderator: mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx URL to WDMAUDIODEV page: http://www.wdmaudiodev.de/