| 252 | //----------------------------------------------------------------------------- |
| 253 | |
| 254 | bool DSZeroVoiceWritableBuffer(PVOICE Voice, uint32_t dwBufferSize) |
| 255 | { |
| 256 | DWORD dwDSLockedBufferSize0=0, dwDSLockedBufferSize1=0; |
| 257 | SHORT *pDSLockedBuffer0, *pDSLockedBuffer1; |
| 258 | |
| 259 | |
| 260 | HRESULT hr = DSGetLock(Voice->lpDSBvoice, |
| 261 | 0, dwBufferSize, |
| 262 | &pDSLockedBuffer0, &dwDSLockedBufferSize0, |
| 263 | &pDSLockedBuffer1, &dwDSLockedBufferSize1); |
| 264 | if(FAILED(hr)) |
| 265 | { |
| 266 | if(g_fh) fprintf(g_fh, "%s: DSGetLock failed (%08X)\n", Voice->name.c_str(), (uint32_t)hr); |
| 267 | return false; |
| 268 | } |
| 269 | |
| 270 | memset(pDSLockedBuffer0, 0x00, dwDSLockedBufferSize0); |
| 271 | if(pDSLockedBuffer1) |
| 272 | memset(pDSLockedBuffer1, 0x00, dwDSLockedBufferSize1); |
| 273 | |
| 274 | hr = Voice->lpDSBvoice->Unlock((void*)pDSLockedBuffer0, dwDSLockedBufferSize0, |
| 275 | (void*)pDSLockedBuffer1, dwDSLockedBufferSize1); |
| 276 | if(FAILED(hr)) |
| 277 | { |
| 278 | if(g_fh) fprintf(g_fh, "%s: DSUnlock failed (%08X)\n", Voice->name.c_str(), (uint32_t)hr); |
| 279 | return false; |
| 280 | } |
| 281 | |
| 282 | return true; |
| 283 | } |
| 284 | |
| 285 | //----------------------------------------------------------------------------- |
| 286 |
no test coverage detected