Поделиться через


Использование функции обратного вызова для обработки сообщений драйвера

Вы можете написать собственную функцию обратного вызова для обработки сообщений, отправленных драйвером устройства. Чтобы использовать функцию обратного вызова, укажите флаг CALLBACK_FUNCTION в параметре fdwOpen и адрес обратного вызова в параметре dwCallback функции waveInOpen или waveOutOpen .

Сообщения, отправляемые в функцию обратного вызова, похожи на сообщения, отправляемые в окно, за исключением того, что они имеют два параметра DWORD вместо UINT и DWORD . Дополнительные сведения об этих сообщениях см. в разделе Воспроизведение файлов Waveform-Audio.

Чтобы передать данные экземпляра из приложения в функцию обратного вызова, используйте один из следующих методов:

  • Передайте данные экземпляра с помощью параметра dwInstance функции, которая открывает драйвер устройства.
  • Передайте данные экземпляра с помощью элемента dwUser структуры WAVEHDR , который определяет блок звуковых данных, отправляемый в драйвер устройства.

Если требуется более 32 бит данных экземпляра, передайте указатель на структуру, содержащую дополнительные сведения.