C++ DirectSoundBuffer8::锁定/解锁
我的问题通常是关于DirectSoundBuffer8的行为和方法如何 我有这样的想法:C++ DirectSoundBuffer8::锁定/解锁,c++,winapi,mingw32,mingw-w64,directsound,C++,Winapi,Mingw32,Mingw W64,Directsound,我的问题通常是关于DirectSoundBuffer8的行为和方法如何 我有这样的想法: unsigned char *bufferPtr; result = ((IDirectSoundBuffer8*)dsb)->Lock(0,size,(void**)&bufferPtr,(DWORD*)&size, NULL, 0, 0); if(FAILED(result)) { return; } memcpy(bufferPtr, waveData, size);
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代码>即使它不是用新建的
我用mingw编译我的程序。32位与delete[]bufferPtr一起正常运行代码>但是在64位构建中,它崩溃了
希望有人能启发我。提前谢谢 不,您完全不必执行delete[]bufferPtr
。您不拥有该内存,一旦调用了Unlock
,指向它的指针就不再有效