Функция SerCxProgressReceive (sercx.h)
Метод SerCxProgressReceive сообщает о ходе текущей операции чтения (получения).
Синтаксис
NTSTATUS SerCxProgressReceive(
[in] WDFDEVICE Device,
[in] ULONG BytesReceived,
[in] SERCX_STATUS ReceiveStatus
);
Параметры
[in] Device
Дескриптор WDFDEVICE для объекта устройства платформы, представляющего последовательный контроллер.
[in] BytesReceived
Количество байтов данных, загруженных вызывающим объектом в буфер получения, полученный последним вызовом метода SerCxRetrieveReceiveBuffer.
[in] ReceiveStatus
Текущее состояние операции получения. Задайте для этого параметра одно из следующих значений:
- SerCxStatusSuccess
- SerCxStatusCancelled
- SerCxStatusTimeout
Возвращаемое значение
SerCxProgressReceive возвращает STATUS_SUCCESS в случае успешного выполнения. Возможные значения возвращаемых ошибок включают следующие коды состояния.
Возвращаемый код | Описание |
---|---|
|
Значение BytesReceived превышает доступную длину буфера; или недопустимое значение ReceiveStatus. |
|
Метод был вызван в неправильном IRQL; или дескриптор WDFDEVICE недействителен; или драйвер не получил входной буфер для этой операции получения. |
|
Операция получения уже отменена. |
Замечания
Драйвер последовательного контроллера вызывает этот метод, чтобы сообщить о ходе выполнения операции чтения. Как правило, драйвер последовательного контроллера вызывает этот метод из обратного вызова завершения DMA (если драйвер использует DMA для чтения данных) или из функции передачи и получения DPC (если используется ПИО).
Если SerCxProgressReceive не завершает все невыполненные действия для операции чтения, вызывающий объект должен вызвать метод SerCxRetrieveReceiveBuffer, чтобы получить новый дескриптор буфера и продолжить получать данные.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно начиная с Windows 8. |
целевая платформа | Всеобщий |
заголовка | sercx.h |
IRQL | <= DISPATCH_LEVEL |