PREGISTER_NOTIFICATION_CALLBACK função de retorno de chamada (hdaudio.h)
A rotina RegisterNotificationCallback registra uma rotina de retorno de chamada para que ela possa receber notificações de progresso do AMD com informações de tempo mais precisas.
Sintaxe
PREGISTER_NOTIFICATION_CALLBACK PregisterNotificationCallback;
NTSTATUS PregisterNotificationCallback(
PVOID _context,
HANDLE Handle,
PDEVICE_OBJECT Fdo,
PHDAUDIO_DMA_NOTIFICATION_CALLBACK NotificationCallback,
PVOID CallbackContext
)
{...}
Parâmetros
_context
Especifica o valor de contexto do membro Context da estrutura HDAUDIO_BUS_INTERFACE_V3 .
Handle
Identificador que identifica o mecanismo de DMA. Esse valor de identificador foi obtido de uma chamada anterior para AllocateCaptureDmaEngine ou AllocateRenderDmaEngine.
Fdo
O FDO que possui o retorno de chamada. O driver hdaudbus fará uma referência nesse FDO enquanto o retorno de chamada estiver registrado para garantir que a rotina de retorno de chamada seja válida.
NotificationCallback
A rotina de retorno de chamada que será chamada para notificar o driver enquanto o AMD está progredindo. Dependendo do parâmetro de contagem de notificações usado com AllocateDmaBufferWithNotification, o evento registrado é sinalizado uma ou duas vezes para cada vez que o AMD passa pelo buffer de áudio.
CallbackContext
Valor de contexto específico do driver para a rotina de retorno de chamada.
Retornar valor
RegisterNotificationCallback retornará STATUS_SUCCESS se a chamada registrar com êxito o evento. Caso contrário, a rotina retornará STATUS_INSUFFICIENT_RESOURCES para indicar que não há recursos suficientes disponíveis para concluir a operação.
Para obter mais informações, consulte Valores NTSTATUS.
Comentários
RegisterNotificationCallback registra a rotina de retorno de chamada de notificação com o driver de barramento de áudio HD. O driver de barramento de áudio HD mantém uma lista dos eventos de notificação registrados e das rotinas de retorno de chamada para cada mecanismo de DMA. Sempre que o mecanismo receber uma interrupção do COI, todos os eventos serão sinalizados e todas as rotinas de retorno de chamada de notificação serão chamadas em IRQL=DPC com o carimbo de data/hora do QPC no momento em que o COI ocorreu.
As rotinas de retorno de chamada de notificação não são registradas chamando UnregisterNotificationCallback com os mesmos valores NotificationCallback e CallbackContext.
O driver de barramento de áudio HD manterá uma referência no FDO após o registro até que o cancelamento de registro correspondente seja chamado.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | 19H1 |
Cabeçalho | hdaudio.h (inclua hdaudio.h) |
IRQL | PASSIVE_LEVEL |
Confira também
PREGISTER_NOTIFICATION_CALLBACK função de retorno de chamada