Don't bother with a queue. Use a ring buffer of sample frames. Make the frames as big as dwBufferBytes when you create a DS buffer (just grab the primary since you don't need to mix anything).
Set the size of the ring buffer dynamically based on the buffer protection time (make that a user-configurable number of milliseconds) divided by the time-length of each frame (taking into account channels, sample rate, and frame size).
Then what you do is allow the DAQ process to place the raw data at the head of this circular buffer and let it wrap around. Force the DAQ to wait until it has a full frame before adding to the ring buffer and advancing the head. This means the DAQ thread will never wait/block for any reason and you just focus on getting your other threads to keep up.
Meanwhile have your audio munging thread pull from a tail pointer in the ring buffer. Make a copy of the frame. Do your audio processing on the copy. Blit the copy into the DS primary circular buffer where it wants you to.
If the audio munging thread can't keep up with the sound card, you'll hear a echo-y sound where the DMA of the sound card "ate the tail" of the DS primary buffer and wrapped around before you could write new data over old data. This is preferable to clicks, drop-outs, or pops, which may cause sudden changes in volume.
Meanwhile if your audio munging thread can't keep up with the DAQ, it will run out of "backlog" and start reading from recently written entries in the circular buffer as the head overtakes the tail. Thus a timing skew with cause you to lag further and further until you suddenly jump back in sync. This will sound like a section was skipped over -- again, better than a drop-out or pop.
Keeping the two processes from getting out of sync and avoiding echos or dropouts entirely may require a more sophisticated munging thread that has its' own pair of ring buffers with samples at different rates (copied from one to the other using a windowed resample operation driven by measuring the ratio of the tail-advance and head-adavance rates of the sound card and DAQ thread respectively).