I wrote an audio device driver, based on MSVAD simple, which seems to be working fine. The device for which I wrote this WDM audio driver supports only 8KHz sample rate. That is, even if my driver (or the client application) could deliver higher quality audio (say 44.1 KHz), the device cannot really utilize any of it. Therefore, I decided to simplify sample handling in the driver by changing MIN_SAMPLE_RATE and MIN_SAMPLE_RATE in simple.h from: #define MIN_SAMPLE_RATE 4000 // Min Sample Rate #define MAX_SAMPLE_RATE 64000 // Max Sample Rate to: #define MIN_SAMPLE_RATE 8000 // Min Sample Rate #define MAX_SAMPLE_RATE 8000 // Max Sample Rate I then rebuilt the driver and attempted to update it (as usual) via Device Manager. The result was unpleasantly surprising: The test machine crashed and WinDbg disconnected abruptly, preventing me from having the tiniest clue of why this happened. Fortunately, I limited the changes for this debug session to only these two parameters, so I know that they are the culprit. Despite being able to write a working WDM audio driver, I am really a beginner who doesn't have in-depth knowledge of how things really work inside PortCls (or MSVAD for that matter). Is there a tip you can provide for why such an intuitive (and inoccent?) change would send the driver into oblivion? It reminds me of invalid pointer or divide-by-zero cases... Why does a change as straightforward as this doesn't work? What am I missing? Where do I begin/look when troubleshooting this kind of problem? Any tip or hint (or pointer to an article) would be greatly appreciated. Thanks, Don ****************** 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.com/