title: Microsoft Virtual Audio Device Driver Sample (MSVAD) only creates 44 bytes files
body: <p>I'm currently digging into the MSVAD simple driver. Unfortunately, it doesn't work the way I'd like it to work. When a new program starts, it creates as STREAM_NN.WAV under C:\</p>
  
  <p>Unfortunately, this file is only 44 bytes in size (containing only the header). I attached the debugger view and got this output:</p>
  
  <pre><code>MSVAD: [CMiniportWaveCyclic::NewStream]
  MSVAD: [CMiniportWaveCyclicMSVAD::ValidateFormat]
  MSVAD: [CMiniportWaveCyclic::NewStream]
  MSVAD: [CMiniportWaveCyclicMSVAD::ValidateFormat]
  MSVAD: CMiniportWaveCyclicMSVAD::ValidatePcm
  MSVAD: [CSaveData::InitializeWorkItems]
  MSVAD: [CMiniportWaveCyclicStreamMSVAD::Init]
  MSVAD: SaveData 845A754C
  MSVAD: [CSaveData::SetDataFormat]
  MSVAD: [CSaveData::Initialize]
  MSVAD: [CMiniportWaveCyclicStreamMSVAD::AllocateBuffer]
  MSVAD: [CMiniportWaveCyclicStreamMSVAD::SetFormat]
  MSVAD: [CSaveData::SetDataFormat]
  MSVAD: New Format: 44100
  MSVAD: [CMiniportWaveCyclicStreamMSVAD::SetNotificationFreq]
  MSVAD: [CMiniportWaveCyclicStreamMSVAD::SetState]
  MSVAD: [CMiniportWaveCyclicStreamMSVAD::SetState]
  MSVAD: KSSTATE_PAUSE
  MSVAD: [CMiniportWaveCyclicStreamMSVAD::SetState]
  MSVAD: KSSTATE_RUN
  MSVAD: [CSaveData::WriteData ulByteCount=1764]
  MSVAD: [CSaveData::WriteData ulByteCount=1764]
  MSVAD: [CSaveData::WriteData ulByteCount=1764]
  MSVAD: [CSaveData::WriteData ulByteCount=1764]
  MSVAD: [CSaveData::WriteData ulByteCount=1764]
  MSVAD: [CSaveData::WriteData ulByteCount=1764]
  MSVAD: [CSaveData::WriteData ulByteCount=1764]
  MSVAD: [CSaveData::WriteData ulByteCount=1764]
  MSVAD: [CSaveData::WriteData ulByteCount=1764]
  MSVAD: [CSaveData::WriteData ulByteCount=1764]
  MSVAD: [CSaveData::WriteData ulByteCount=1764]
  MSVAD: [CSaveData::WriteData ulByteCount=1764]
  MSVAD: [CSaveData::WriteData ulByteCount=1764]
  MSVAD: [CSaveData::WriteData ulByteCount=480]
  MSVAD: [CSaveData::WriteData ulByteCount=1284]
  MSVAD: [CSaveData::WriteData ulByteCount=1764]
  MSVAD: [CSaveData::WriteData ulByteCount=1764]
  MSVAD: [CSaveData::WriteData ulByteCount=1764]
  MSVAD: [CSaveData::WriteData ulByteCount=1764]
  MSVAD: [CSaveData::WriteData ulByteCount=628]
  MSVAD: [CSaveData::WriteData ulByteCount=1136]
  //Truncated for convenience
  MSVAD: [CSaveData::WriteData ulByteCount=1764]
  MSVAD: [CSaveData::WriteData ulByteCount=1764]
  MSVAD: [CSaveData::WriteData ulByteCount=1764]
  MSVAD: [CSaveData::WriteData ulByteCount=1764]
  MSVAD: [CSaveData::WriteData ulByteCount=776]
  MSVAD: [CSaveData::WriteData ulByteCount=988]
  MSVAD: [CSaveData::WriteData ulByteCount=1764]
  MSVAD: [CSaveData::WriteData ulByteCount=1764]
  MSVAD: [CSaveData::WriteData ulByteCount=1764]
  MSVAD: [CSaveData::WriteData ulByteCount=1764]
  MSVAD: [CMiniportWaveCyclicStreamMSVAD::SetState]
  MSVAD: KSSTATE_PAUSE
  MSVAD: [CMiniportWaveCyclicStreamMSVAD::SetState]
  MSVAD: KSSTATE_STOP
  MSVAD: [CSaveData::WaitAllWorkItems]
  MSVAD: [CSaveData::SaveFrame]
  MSVAD: [CMiniportWaveCyclicStreamMSVAD::SetState]
  MSVAD: [CMiniportWaveCyclicStream::~CMiniportWaveCyclicStream]
  MSVAD: [CMiniportWaveCyclicStreamMS::~CMiniportWaveCyclicStreamMS]
  MSVAD: [CMiniportWaveCyclicStreamMSVAD::FreeBuffer]
  MSVAD: [CSaveData::~CSaveData]
  </code></pre>
  
  <p>That looks pretty straight forward to me, e.g. all necessary functions got called. I'm wondering if there is a known bug in this example, or any caveats I have to take into account?</p>
  
  <p>The OS is Windows 7 32bit in a virtual machine, normal audio playback works like a charm. The Simple driver is set as default playback device.</p>