DirectSoundBuffer8 :: Блокировка / разблокировка

Мой вопрос, как правило, о том, как поведение Замок а также отпереть Метод 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);
result = ((IDirectSoundBuffer8*)dsb)->Unlock((void*)bufferPtr, size, NULL, 0);
if(FAILED(result)) {
return;
}
delete[] bufferPtr;

Должен ли я действительно делать delete[] bufferPtr; даже если это не сделано с new?

Я компилирую свою программу, используя mingw. 32-битный работает нормально с delete[] bufferPtr; но в 64-битной сборке происходит сбой.

Надеюсь, кто-то может просветить меня. Заранее спасибо!

1

Решение

Нет, вам абсолютно не нужно делать delete[] bufferPtr, Вам не принадлежит эта память, и как только вы позвонили Unlock Ваш указатель на него больше не действителен.

1

Другие решения


По вопросам рекламы [email protected]