Hello everyone, I have been trying to implement the Vista's Jack Sensing API (GetState) for Windows XP. I read about the HD Audio's DDI and realized I could just send an IRP to the HD Audio Bus Driver to do the work for me. However, I can't seem to be able to get the device object in order to send the IRP to it. I want to add the jack sensing ability to the current audio driver, not implement a whole adapter driver of my own. I have been looking around the web for a solution, and I am not sure what I should do: 1) Write a filter driver that attaches the audio stack so I can pass the IRP down the stack. The problem is that I need to filter other irrelevant requests, which is something I am not willing to do. Further than that, I will have to get some device from the stack to attach to it. 2) Write a virtual audio driver. I came accross this option while Googling, but I am surely not convinced it's a good one. As I've already mentioned, I am not trying to replace the existent driver, neither do I want to intercept requests to the driver or handle anything I don't need to. However, if I do register as a virtual audio driver, meaning my driver will function as an adapter driver, I will have the option to send the IRP down the stack. 3) Somehow get the device object for the HD Audio Bus Driver's device, so I can send it the wanted IRP. This is obviously the better option, but I don't know how to accomplish it. Thanks very much in advance, Moshe.