1
我的問題一般是關於如何使用DirectSoundBuffer8的方法如Lock和Unlock的行爲。DirectSoundBuffer8 :: Lock/Unlock
我有這樣的事情:
unsigned char *bufferPtr;
result = ((IDirectSoundBuffer8*)dsb)->Lock(0,size,(void**)&bufferPtr,(DWORD*)&size, NULL, 0, 0);
if(FAILED(result)) {
return;
}
memcpy(bufferPtr, waveData, size);
result = ((IDirectSoundBuffer8*)dsb)->Unlock((void*)bufferPtr, size, NULL, 0);
if(FAILED(result)) {
return;
}
delete[] bufferPtr;
我必須真的delete[] bufferPtr;
即使它不與new
做?
我使用mingw編譯我的程序。 32位運行正常,delete[] bufferPtr;
,但在64位版本中,它崩潰。
希望有人能啓發我。提前致謝!