Hmm. Well, I'm used to having a Log() function available to me as part of the standard RTL, though I rarely have any need for it. So I'm not sure about the internal function.
I do know that most programs filter the buffer for Volume and stream mixing before passing them to DirectX... cleaver ones only mix in software to compensate for missing hardware channels, but if you have a normal 16-bit PCM stream in your buffer, then taking each 16-bit figure (sample) and dividing it by a percentage before asking DirectSound to play it. (or, at least the current buffer) ^_^

