Compartilhar via


Função SerCxProgressReceive (sercx.h)

O método SerCxProgressReceive relata o progresso da operação de leitura (recebimento) atual.

Sintaxe

NTSTATUS SerCxProgressReceive(
  [in] WDFDEVICE    Device,
  [in] ULONG        BytesReceived,
  [in] SERCX_STATUS ReceiveStatus
);

Parâmetros

[in] Device

Um identificador WDFDEVICE para o objeto de dispositivo de estrutura que representa o controlador serial.

[in] BytesReceived

O número de bytes de dados que o chamador carregou no buffer de recebimento obtido pela última chamada para o método SerCxRetrieveReceiveBuffer .

[in] ReceiveStatus

O status atual da operação de recebimento. Defina esse parâmetro como um dos seguintes valores:

  • SerCxStatusSuccess
  • SerCxStatusCancelled
  • SerCxStatusTimeout
Para obter mais informações sobre esses valores, consulte SERCX_STATUS.

Retornar valor

SerCxProgressReceive retornará STATUS_SUCCESS se for bem-sucedido. Os possíveis valores retornados por erro incluem os seguintes códigos de status.

Código de retorno Descrição
STATUS_INVALID_PARAMETER
O valor BytesReceived excede o comprimento do buffer disponível; ou o valor ReceiveStatus não é válido.
STATUS_INVALID_DEVICE_REQUEST
O método foi chamado no IRQL errado; ou o identificador WDFDEVICE não é válido; ou o driver não obteve um buffer de entrada para esta operação de recebimento.
STATUS_CANCELLED
A operação de recebimento já foi cancelada.

Comentários

O driver do controlador serial chama esse método para relatar o progresso em uma operação de leitura pendente. Normalmente, o driver do controlador serial chama esse método de seu retorno de chamada de conclusão de DMA (se o driver usa DMA para ler os dados) ou de sua função DPC de transmissão/recebimento (se o PIO for usado).

Se o SerCxProgressReceive não concluir todo o trabalho pendente para a operação de leitura, o chamador deverá chamar o método SerCxRetrieveReceiveBuffer novamente para obter um novo descritor de buffer e continuar a receber dados.

Requisitos

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

Confira também

SERCX_STATUS

SerCxRetrieveReceiveBuffer