Привет! Извиняюсь за повтор (сначала в WIN API написал, но может здесь кто поможет).
Иногда сабжевая функция возвращает ошибку 5 (типа "блок еще используется"). Хотя делаю я это в обработчике WIM_DATA, т.е. очередной блок явно отдан мне "на растерзание" и не используется. Из-за чего такое может быть?
И еще вопрос — как правильно завершать запись? Перед waveInReset явно устанавливать некий флажок, чтобы в обработчике WIM_DATA не делать очередной waveInAddBuffer? А то иначе у меня обламывается waveInClose (типа очередь буферов непуста и закрыть девайс нельзя).