Compartilhar via


EVT_SERCX2_SYSTEM_DMA_RECEIVE_CANCEL_NEW_DATA_NOTIFICATION função de retorno de chamada (sercx.h)

A função de retorno de chamada de evento EvtSerCx2SystemDmaReceiveCancelNewDataNotification é chamada pela versão 2 da extensão de estrutura serial (SerCx2) para cancelar uma notificação de novos dados habilitada pelo SerCx2 em uma chamada anterior para a função de retorno de chamada de evento EvtSerCx2SystemDmaReceiveEnableNewDataNotification .

Sintaxe

EVT_SERCX2_SYSTEM_DMA_RECEIVE_CANCEL_NEW_DATA_NOTIFICATION EvtSercx2SystemDmaReceiveCancelNewDataNotification;

BOOLEAN EvtSercx2SystemDmaReceiveCancelNewDataNotification(
  [in] SERCX2SYSTEMDMARECEIVE SystemDmaReceive
)
{...}

Parâmetros

[in] SystemDmaReceive

Um identificador SERCX2SYSTEMDMARECEIVE para um objeto system-DMA-receive. O driver do controlador serial anteriormente chamou o método SerCx2SystemDmaReceiveCreate para criar esse objeto.

Retornar valor

A função EvtSerCx2SystemDmaReceiveCancelNewDataNotification retornará TRUE se a notificação de novos dados tiver sido cancelada com êxito e o driver do controlador serial puder garantir que essa notificação não fará com que o método SerCx2SystemDmaReceiveNewDataNotification seja chamado. A função retornará FALSE se o driver já tiver chamado o método SerCx2SystemDmaReceiveNewDataNotification ou estiver prestes a chamar esse método.

Comentários

O driver do controlador serial pode, como opção, implementar essa função. Se implementado, o driver registra a função na chamada SerCx2SystemDmaReceiveCreate que cria o objeto system-DMA-receive. Um driver que implementa essa função também deve implementar uma função de retorno de chamada de evento EvtSerCx2SystemDmaReceiveEnableNewDataNotification .

Se a solicitação de leitura associada atingir o tempo limite ou for cancelada enquanto uma solicitação de notificação de novos dados estiver pendente, o SerCx2 chamará a função EvtSerCx2SystemDmaReceiveCancelNewDataNotification para cancelar a notificação pendente. Se essa chamada retornar FALSE, SerCx2 espera que o driver do controlador serial chame SerCx2SystemDmaReceiveNewDataNotification; somente após essa chamada o SerCx2 chamar a função EvtSerCx2SystemDmaReceiveCleanupTransaction , se ela for implementada e concluir a solicitação.

Para cancelar a notificação de novos dados, a função EvtSerCx2SystemDmaReceiveCancelNewDataNotification normalmente desabilita a interrupção no controlador serial que indica que mais dados estão disponíveis para leitura do FIFO de recebimento. Essa interrupção foi habilitada por uma chamada anterior para a função EvtSerCx2SystemDmaReceiveEnableNewDataNotification .

Para obter mais informações, consulte SerCx2 System-DMA-Receive Transactions.

Exemplos

Para definir uma função de retorno de chamada EvtSerCx2SystemDmaReceiveCancelNewDataNotification , primeiro você deve fornecer uma declaração de função que identifique o tipo de função de retorno de chamada que você está definindo. O Windows fornece um conjunto de tipos de função de retorno de chamada para drivers. Declarar uma função usando os tipos de função de retorno de chamada ajuda a Análise de Código para Drivers, SDV ( Verificador de Driver Estático ) e outras ferramentas de verificação a encontrar erros e é um requisito para gravar drivers para o sistema operacional Windows.

Por exemplo, para definir uma função de retorno de chamada EvtSerCx2SystemDmaReceiveCancelNewDataNotification chamada MySystemDmaReceiveCancelNewDataNotification, use o tipo de função EVT_SERCX2_SYSTEM_DMA_RECEIVE_CANCEL_NEW_DATA_NOTIFICATION , conforme mostrado neste exemplo de código:

EVT_SERCX2_SYSTEM_DMA_RECEIVE_CANCEL_NEW_DATA_NOTIFICATION  MySystemDmaReceiveCancelNewDataNotification;

Em seguida, implemente a função de retorno de chamada da seguinte maneira:

_Use_decl_annotations_
BOOLEAN
  MySystemDmaReceiveCancelNewDataNotification(
    SERCX2SYSTEMDMARECEIVE  SystemDmaReceive
    )
  {...}

O tipo de função EVT_SERCX2_SYSTEM_DMA_RECEIVE_CANCEL_NEW_DATA_NOTIFICATION é definido no arquivo de cabeçalho Sercx.h. Para identificar erros com mais precisão ao executar as ferramentas de análise de código, adicione a anotação Use_decl_annotations à sua definição de função. A anotação Use_decl_annotations garante que as anotações aplicadas ao tipo de função EVT_SERCX2_SYSTEM_DMA_RECEIVE_CANCEL_NEW_DATA_NOTIFICATION no arquivo de cabeçalho sejam usadas. Para obter mais informações sobre os requisitos para declarações de função, consulte Declarando funções usando tipos de função de função para drivers KMDF. Para obter mais informações sobre Use_decl_annotations, consulte Anotando o comportamento da função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows 8.1.
Plataforma de Destino Área de Trabalho
Cabeçalho sercx.h
IRQL Chamado em IRQL <= DISPATCH_LEVEL.

Confira também

EvtSerCx2SystemDmaReceiveEnableNewDataNotification

SERCX2SYSTEMDMARECEIVE

SerCx2SystemDmaReceiveCreate

SerCx2SystemDmaReceiveNewDataNotification