SerCxProgressReceive function (sercx.h)
The SerCxProgressReceive method reports the progress of the current read (receive) operation.
Syntax
NTSTATUS SerCxProgressReceive(
[in] WDFDEVICE Device,
[in] ULONG BytesReceived,
[in] SERCX_STATUS ReceiveStatus
);
Parameters
[in] Device
A WDFDEVICE handle to the framework device object that represents the serial controller.
[in] BytesReceived
The number of bytes of data that the caller loaded into the receive buffer that was obtained by the latest call to the SerCxRetrieveReceiveBuffer method.
[in] ReceiveStatus
The current status of the receive operation. Set this parameter to one of the following values:
- SerCxStatusSuccess
- SerCxStatusCancelled
- SerCxStatusTimeout
Return value
SerCxProgressReceive returns STATUS_SUCCESS if it is successful. Possible error return values include the following status codes.
Return code | Description |
---|---|
|
The BytesReceived value exceeds the available buffer length; or the ReceiveStatus 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 input buffer for this receive operation. |
|
The receive operation has already been canceled. |
Remarks
The serial controller driver calls this method to report progress on an outstanding read 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 SerCxProgressReceive does not complete all outstanding work for the read operation, the caller must call the SerCxRetrieveReceiveBuffer method again to get a new buffer descriptor and continue to receive data.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Available starting with Windows 8. |
Target Platform | Universal |
Header | sercx.h |
IRQL | <= DISPATCH_LEVEL |