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 identificador 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 siguientes valores:

  • SerCxStatusSuccess
  • SerCxStatusCancelled
Para obtener más información sobre estos valores, vea SERCX_STATUS.
Nota El 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, vea SERIAL_TIMEOUTS.
 

Valor devuelto

serCxProgressTransmit devuelve STATUS_SUCCESS si se realiza correctamente. 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 de TransmitStatus no es válido.
STATUS_INVALID_DEVICE_REQUEST
Se llamó al método en 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.

Observaciones

El controlador del controlador serie llama a este método para notificar el progreso de una operación de escritura pendiente. Normalmente, el controlador del controlador serie llama a este método desde su devolución de llamada de finalización 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 el serCxProgressTransmit llamada no completa todo el trabajo pendiente para la operación de escritura, el autor de la llamada debe llamar a SerCxRetrieveTransmitBuffer para obtener un nuevo descriptor de búfer y continuar transmitiendo datos.

Requisitos

Requisito Valor
cliente mínimo admitido Disponible a partir de Windows 8.
de la plataforma de destino de Universal
encabezado de sercx.h
irQL <= DISPATCH_LEVEL

Consulte también

SERCX_STATUS

SERIAL_TIMEOUTS

serCxRetrieveTransmitBuffer