So how do i find out, why HeapAlloc does not return sane values like
in first call of DirectSoundDevice_Create()?
Sounds like heap corruption. Try using valgrind to see if there are
memory errors before the second call to DirectSoundDevice_Create().
--Juan