| 			WAVEFORMATEX WaveFormat = {};
			WaveFormat.wFormatTag = WAVE_FORMAT_PCM;
			WaveFormat.nChannels = 2;
			WaveFormat.nSamplesPerSec = SamplesPerSecond;
			WaveFormat.wBitsPerSample = 16;
			WaveFormat.nBlockAlign = (WaveFormat.nChannels * WaveFormat.wBitsPerSample) / 8;
			WaveFormat.nAvgBytesPerSec = WaveFormat.nBlockAlign * WaveFormat.nSamplesPerSec;
			WaveFormat.cbSize = 0;
 
 | 
 
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15  | 			DSBUFFERDESC BufferDescription = {};
			BufferDescription.dwSize = sizeof(BufferDescription);
			BufferDescription.dwFlags = 0;
			BufferDescription.dwBufferBytes = BufferSize;
			BufferDescription.lpwfxFormat = &WaveFormat;
			// Create a secondary buffer
			LPDIRECTSOUNDBUFFER SecondaryBuffer;
			if (SUCCEEDED(DirectSound->CreateSoundBuffer(&BufferDescription, &SecondaryBuffer, 0)))
			{
				HRESULT Error = SecondaryBuffer->SetFormat(&WaveFormat);
				if (SUCCEEDED(Error))
				{
					OutputDebugStringA("SecondaryBuffer is fine!\n");
				}
 
 | 
 
This gives error code 0x88780032. I have no problems with Primary Buffer.
Buffersize = 48000 * sizeof(int16) * 2 = 192000.
SamplesPerSecond = 48000.