SerCxProgressTransmit function (sercx.h)
The SerCxProgressTransmit method reports the progress of the current write (transmit) operation.
Syntax
NTSTATUS SerCxProgressTransmit(
[in] WDFDEVICE Device,
[in] ULONG BytesTransmitted,
[in] SERCX_STATUS TransmitStatus
);
Parameters
[in] Device
A WDFDEVICE handle to the framework device object that represents the serial controller.
[in] BytesTransmitted
The number of bytes of data that the caller copied from the transmit buffer that was obtained by the latest call to the SerCxRetrieveTransmitBuffer method.
[in] TransmitStatus
The current status of the transmit operation. Set this parameter to one of the following values:
- SerCxStatusSuccess
- SerCxStatusCancelled
Return value
SerCxProgressTransmit returns STATUS_SUCCESS if it is successful. Possible error return values include the following status codes.
Return code | Description |
---|---|
|
The BytesTransmitted value exceeds the available buffer length; or the TransmitStatus value is not valid. |
|
The method was called at the wrong IRQL; or the WDFDEVICE handle is not valid; or the driver has not obtained an output buffer for this transmit operation. |
|
The transmit operation has already been canceled. |
Remarks
The serial controller driver calls this method to report progress on an outstanding write operation. Typically, the serial controller driver calls this method from its DMA completion callback (if the driver uses DMA to read the data) or from its transmit/receive DPC function (if PIO is used).
If the SerCxProgressTransmit call does not complete all outstanding work for the write operation, the caller must call SerCxRetrieveTransmitBuffer again to get a new buffer descriptor and continue to transmit data.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Available starting with Windows 8. |
Target Platform | Universal |
Header | sercx.h |
IRQL | <= DISPATCH_LEVEL |