Compartir a través de


Función SerCxProgressTransmit (sercx.h)

El método SerCxProgressTransmit informa del progreso de la operación de escritura (transmisión) actual.

Sintaxis

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

Parámetros

[in] Device

Un controlador WDFDEVICE para el objeto de dispositivo de marco que representa el controlador serie.

[in] BytesTransmitted

Número de bytes de datos que el autor de la llamada copió del búfer de transmisión obtenido por la última llamada al método SerCxRetrieveTransmitBuffer .

[in] TransmitStatus

Estado actual de la operación de transmisión. Establezca este parámetro en uno de los valores siguientes:

  • SerCxStatusSuccess
  • SerCxStatusCancelled
Para obtener más información sobre estos valores, consulte SERCX_STATUS.
Nota El valor de SerCxStatusTimeout solo es válido para las operaciones de recepción. No se puede especificar ningún tiempo de espera de intervalo para una operación de transmisión. Para obtener más información, consulte SERIAL_TIMEOUTS.
 

Valor devuelto

SerCxProgressTransmit devuelve STATUS_SUCCESS si es correcto. Entre los posibles valores devueltos de error se incluyen los siguientes códigos de estado.

Código devuelto Descripción
STATUS_INVALID_PARAMETER
El valor BytesTransmitted supera la longitud del búfer disponible; o el valor TransmitStatus no es válido.
STATUS_INVALID_DEVICE_REQUEST
Se llamó al método en el IRQL incorrecto; o el identificador WDFDEVICE no es válido; o el controlador no ha obtenido un búfer de salida para esta operación de transmisión.
STATUS_CANCELLED
La operación de transmisión ya se ha cancelado.

Comentarios

El controlador de controlador de serie llama a este método para notificar el progreso de una operación de escritura pendiente. Normalmente, el controlador de controlador serie llama a este método desde su devolución de llamada de finalización de DMA (si el controlador usa DMA para leer los datos) o desde su función DPC de transmisión/recepción (si se usa PIO).

Si la llamada SerCxProgressTransmit no completa todo el trabajo pendiente para la operación de escritura, el llamador debe llamar a SerCxRetrieveTransmitBuffer de nuevo para obtener un nuevo descriptor de búfer y continuar transmitiendo datos.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows 8.
Plataforma de destino Universal
Encabezado sercx.h
IRQL <= DISPATCH_LEVEL

Consulte también

SERCX_STATUS

SERIAL_TIMEOUTS

SerCxRetrieveTransmitBuffer