Compartilhar via


Função SerCx2SaveReceiveFifoOnD0Exit (sercx.h)

O método SerCx2SaveReceiveFifoOnD0Exit informa a versão 2 da extensão de estrutura serial (SerCx2) que o FIFO de recebimento do hardware do controlador serial contém dados que devem ser salvos antes que o controlador serial insira um estado de baixa potência do dispositivo.

Sintaxe

void SerCx2SaveReceiveFifoOnD0Exit(
  [in] SERCX2PIORECEIVE PioReceive,
  [in] ULONG            FifoSize
);

Parâmetros

[in] PioReceive

Um identificador SERCX2PIORECEIVE para um objeto de recebimento de PIO. O driver do controlador serial anteriormente chamou o método SerCx2PioReceiveCreate para criar esse objeto.

[in] FifoSize

O número de bytes de dados não lidos que o FIFO de transmissão contém.

Retornar valor

Nenhum

Comentários

Quando o controlador serial está prestes a entrar em um estado de baixa potência, o SerCx2 e o driver do controlador serial devem salvar todos os bytes de dados não lidos que possam permanecer no FIFO de recebimento. Caso contrário, esses dados serão perdidos quando o controlador serial entrar no estado de baixa potência. Para solicitar assistência do SerCx2 para salvar esses dados, o driver chama SerCx2SaveReceiveFifoOnD0Exit.

A estrutura de driver chama a função de retorno de chamada de evento EvtDeviceD0Exit ou EvtDeviceD0ExitPreInterruptsDisabled do driver para informar ao driver para preparar o controlador serial para sair do estado do dispositivo D0. Em resposta, essa função primeiro desativa a linha pronta para enviar (RTS) para informar o dispositivo na outra extremidade da conexão serial para não enviar mais dados. Em seguida, a função chama SerCx2SaveReceiveFifoOnD0Exit.

SerCx2SaveReceiveFifoOnD0Exit chama a função de retorno de chamada de evento EvtSerCx2PioReceiveReadBuffer do driver para recuperar os dados do FIFO de recebimento. Nessa chamada, o SerCx2 fornece, como parâmetro, um ponteiro para um buffer de software interno que o SerCx2 mantém com a finalidade de salvar dados não lidos do FIFO de recebimento em preparação para entrar em um estado de baixa potência.

Posteriormente, depois que um cliente envia uma solicitação de leitura (IRP_MJ_READ) para o controlador serial, o SerCx2 copia os bytes desse buffer de software interno para o buffer de leitura na solicitação.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows 8.1.
Plataforma de Destino Universal
Cabeçalho sercx.h
IRQL PASSIVE_LEVEL

Confira também

EvtDeviceD0Exit

EvtDeviceD0ExitPreInterruptsDisabled

EvtSerCx2PioReceiveReadBuffer

IRP_MJ_READ

SERCX2PIORECEIVE

SerCx2PioReceiveCreate