[wdmaudiodev] problems with additional DeviceObject

  • From: Markus Bollinger <markusbollinger@xxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Wed, 14 Jan 2004 09:59:08 -0800 (PST)

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/

Other related posts: