Compartilhar via


Função SerCxProgressTransmit (sercx.h)

O método SerCxProgressTransmit relata o progresso da operação de gravação (transmissão) atual.

Sintaxe

NTSTATUS SerCxProgressTransmit(
  [in] WDFDEVICE    Device,
  [in] ULONG        BytesTransmitted,
  [in] SERCX_STATUS TransmitStatus
);

Parâmetros

[in] Device

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

[in] BytesTransmitted

O número de bytes de dados que o chamador copiou do buffer de transmissão obtido pela chamada mais recente para o método SerCxRetrieveTransmitBuffer .

[in] TransmitStatus

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

  • SerCxStatusSuccess
  • SerCxStatusCancelled
Para obter mais informações sobre esses valores, consulte SERCX_STATUS.
Nota O valor SerCxStatusTimeout é válido apenas para operações de recebimento. Nenhum tempo limite de intervalo pode ser especificado para uma operação de transmissão. Para obter mais informações, consulte SERIAL_TIMEOUTS.
 

Retornar valor

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

Código de retorno Descrição
STATUS_INVALID_PARAMETER
O valor BytesTransmitted excede o comprimento do buffer disponível; ou o valor TransmitStatus 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 saída para essa operação de transmissão.
STATUS_CANCELLED
A operação de transmissão já foi cancelada.

Comentários

O driver do controlador serial chama esse método para relatar o progresso em uma operação de gravação 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 a chamada SerCxProgressTransmit não concluir todo o trabalho pendente para a operação de gravação, o chamador deverá chamar SerCxRetrieveTransmitBuffer novamente para obter um novo descritor de buffer e continuar a transmitir 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

SERIAL_TIMEOUTS

SerCxRetrieveTransmitBuffer