Compartilhar via


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

HDAUDIO_BUS_INTERFACE_V3

PREGISTER_NOTIFICATION_CALLBACK função de retorno de chamada

hdaudio.h