EVT_SERCX2_PURGE_FIFOS função de retorno de chamada (sercx.h)
A função de retorno de chamada de evento EvtSerCx2PurgeFifos é chamada pela versão 2 da extensão da estrutura serial (SerCx2) para limpar os buffers FIFO no hardware do controlador serial.
Sintaxe
EVT_SERCX2_PURGE_FIFOS EvtSercx2PurgeFifos;
void EvtSercx2PurgeFifos(
[in] WDFDEVICE Device,
[in] BOOLEAN PurgeRxFifo,
[in] BOOLEAN PurgeTxFifo
)
{...}
Parâmetros
[in] Device
Um identificador WDFDEVICE para o objeto de dispositivo da estrutura que representa o controlador serial. O driver do controlador serial criou esse objeto em sua função de retorno de chamada EvtDriverDeviceAdd. Para obter mais informações, consulte SerCx2InitializeDevice.
[in] PurgeRxFifo
Se deseja limpar o FIFO de recebimento. Se esse parâmetro estiver definido como TRUE, limpe o FIFO de recebimento. Se FALSE, não limpe o FIFO de recebimento.
[in] PurgeTxFifo
Se deseja limpar o FIFO de transmissão. Se esse parâmetro estiver definido como TRUE, limpe o FIFO de transmissão. Se FALSE, não limpe o FIFO de transmissão.
Valor de retorno
Nenhum
Observações
O driver do controlador serial deve implementar essa função. O driver registra a função na chamada para o método SerCx2InitializeDevice que conclui a inicialização do objeto de dispositivo da estrutura para o controlador serial.
O SerCx2 chama a função EvtSerCx2PurgeFifos quando um cliente (driver periférico) envia uma solicitação de controle IOCTL_SERIAL_PURGE que exige que um ou ambos os buffers FIFO no hardware do controlador serial sejam limpos. Se a solicitação de controle
O SerCx2 também chama a função EvtSerCx2PurgeFifos quando um cliente abre uma conexão lógica com o dispositivo do controlador serial e obtém um identificador de arquivo para essa conexão. Para obter mais informações, consulte de Objetos de Arquivo da Estrutura.
Exemplos
Para definir uma função de retorno de chamada EvtSerCx2PurgeFifos, 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 encontram erros e é um requisito para gravar drivers para o sistema operacional Windows.
Por exemplo, para definir uma função de retorno de chamada EvtSerCx2PurgeFifos denominada MyPurgeFifos
, use o tipo de função EVT_SERCX2_PURGE_FIFOS, conforme mostrado neste exemplo de código:
EVT_SERCX2_PURGE_FIFOS MyPurgeFifos;
Em seguida, implemente sua função de retorno de chamada da seguinte maneira:
_Use_decl_annotations_
VOID
MyPurgeFifos(
WDFDEVICE Device,
BOOLEAN PurgeRxFifo,
BOOLEAN PurgeTxFifo
)
{...}
O tipo de função EVT_SERCX2_PURGE_FIFOS é 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_PURGE_FIFOS 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 |
---|---|
de cliente com suporte mínimo | Disponível a partir do Windows 8.1. |
da Plataforma de Destino |
Área de trabalho |
cabeçalho | sercx.h |
IRQL | Chamado no PASSIVE_LEVEL. |