Sürücü İletilerini İşlemek için Geri Çağırma İşlevi Kullanma

[Bu sayfayla ilişkilendirilmiş özellik, Waveform Audio, eski bir özelliktir. bunun yerini WASAPI ve Ses Grafiklerialmıştır. WASAPI ve Ses Grafları, Windows 10 ve Windows 11 için iyileştirilmiştir. Microsoft, mümkün olduğunda yeni kodun Waveform Audioyerine WASAPI ve Ses Grafları kullanmasını kesinlikle önerir. Microsoft, mümkünse yeni API'leri kullanmak için eski API'leri kullanan mevcut kodun yeniden yazılmasını önerir.]

Cihaz sürücüsü tarafından gönderilen iletileri işlemek için kendi geri çağırma işlevinizi yazabilirsiniz. Geri çağırma işlevi kullanmak için fdwOpen parametresinde CALLBACK_FUNCTION bayrağını ve waveInOpen veya waveOutOpen işlevinin dwCallback parametresinde geri çağırmanın adresini belirtin.

Bir geri çağırma işlevine gönderilen iletiler, UINT ve DWORD parametresi yerine iki DWORD parametresine sahip olmaları dışında, pencereye gönderilen iletilere benzer. Bu iletilerle ilgili ayrıntılar için bkz. Waveform-Audio Dosyaları Oynatma.

Bir uygulamadan geri çağırma işlevine örnek verileri geçirmek için aşağıdaki tekniklerden birini kullanın:

  • Cihaz sürücüsünü açan işlevin dwInstance parametresini kullanarak örnek verilerini geçirin.
  • Bir cihaz sürücüsüne gönderilen ses veri bloğunu tanımlayan WAVEHDR yapısının dwUser üyesini kullanarak örnek verilerini geçirin.

32 bitten fazla örnek verisine ihtiyacınız varsa, ek bilgileri içeren bir yapıya bir işaretçi geçirin.