Condividi tramite


Uso di una funzione di callback per elaborare i messaggi del driver

[La funzionalità associata a questa pagina, Waveform Audio, è una funzionalità legacy. È stato sostituito da WASAPI e Grafici Audio. WASAPI e Audio Graphs sono stati ottimizzati per Windows 10 e Windows 11. Microsoft consiglia vivamente di utilizzare WASAPI e Grafici Audio anziché Audio a forma d'onda, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

È possibile scrivere una funzione di callback personalizzata per elaborare i messaggi inviati dal driver di dispositivo. Per usare una funzione di callback, specificare il flag CALLBACK_FUNCTION nel parametro fdwOpen e l'indirizzo del callback nel parametro dwCallback della funzione waveInOpen o waveOutOpen.

I messaggi inviati a una funzione di callback sono simili ai messaggi inviati a una finestra, ad eccezione dei due parametri DWORD anziché un UINT e un parametro DWORD. Per informazioni dettagliate su questi messaggi, vedere Riproduzione di file Waveform-Audio.

Per passare i dati dell'istanza da un'applicazione a una funzione di callback, usare una delle tecniche seguenti:

  • Passare i dati dell'istanza usando il parametro dwInstance della funzione che apre il driver di dispositivo.
  • Trasmetti i dati dell'istanza usando il membro dwUser della struttura WAVEHDR che identifica un blocco di dati audio che viene inviato a un driver di dispositivo.

Se sono necessari più di 32 bit di dati dell'istanza, passare un puntatore a una struttura contenente le informazioni aggiuntive.