Compartilhar via


Gerenciando blocos de dados por sondagem

[O recurso associado a esta página, Waveform Audio, é um recurso herdado. Ele foi substituído por WASAPI e Audio Graphs. WASAPI e Audio Graphs foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use WASAPI e Audio Graphs em vez de Waveform Audio, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

Além de usar uma função de retorno de chamada, você pode sondar o membro dwFlags de uma estrutura WAVEHDR para determinar quando um dispositivo de áudio é concluído com um bloco de dados. Às vezes, é melhor sondar dwFlags do que esperar que outro mecanismo receba mensagens dos drivers. Por exemplo, depois de chamar a função waveOutReset para liberar blocos de dados pendentes, você pode sondar imediatamente para ter certeza de que os blocos de dados foram liberados antes de chamar waveOutUnprepareHeader e liberar a memória para o bloco de dados.

Você pode usar o sinalizador WHDR_DONE para testar o membro dwFlags . Assim que o sinalizador WHDR_DONE for definido no membro dwFlags da estrutura WAVEHDR , o driver será concluído com o bloco de dados.