Функция SerCx2SaveReceiveFifoOnD0Exit (sercx.h)
Метод SerCx2SaveReceiveFifoOnD0Exit сообщает версии 2 из расширения последовательной платформы (SerCx2), что полученный FIFO оборудования последовательного контроллера содержит данные, которые следует сохранить перед тем, как последовательный контроллер входит в состояние низкой мощности устройства.
Синтаксис
void SerCx2SaveReceiveFifoOnD0Exit(
[in] SERCX2PIORECEIVE PioReceive,
[in] ULONG FifoSize
);
Параметры
[in] PioReceive
Дескриптор SERCX2PIORECEIVE объекту piO-receive. Драйвер последовательного контроллера ранее вызывал метод SerCx2PioReceiveCreate для создания этого объекта.
[in] FifoSize
Количество байтов непрочитанных данных, содержащихся в fiFO передачи.
Возвращаемое значение
Никакой
Замечания
Когда последовательный контроллер будет входить в состояние низкой мощности, SerCx2 и драйвер последовательного контроллера должны сохранить все байты непрочитанных данных, которые могут остаться в получении FIFO. В противном случае эти данные будут потеряны, когда последовательный контроллер входит в состояние низкой мощности. Чтобы запросить помощь от SerCx2 для сохранения этих данных, драйвер вызывает SerCx2SaveReceiveFifoOnD0Exit.
Платформа драйверов вызывает функцию обратного вызова драйвера EvtDeviceD0Exit или EvtDeviceD0ExitPreInterruptsDisabled функцию обратного вызова событий, чтобы сообщить драйверу подготовить последовательный контроллер к выходу из состояния устройства D0. В ответ эта функция сначала отменяет готово к отправке (RTS), чтобы сообщить устройству в другом конце последовательного подключения, чтобы не отправлять больше данных. Затем функция вызывает SerCx2SaveReceiveFifoOnD0Exit.
SerCx2SaveReceiveFifoOnD0Exit вызывает функцию обратного вызова события драйвера EvtSerCerCx2PioReceiveReadBuffer функцию обратного вызова событий для получения данных из получения FIFO. В этом вызове SerCx2 предоставляет в качестве параметра указатель на внутренний буфер программного обеспечения, который SerCx2 поддерживает для сохранения непрочитанных данных из получения FIFO в подготовке к вводу состояния низкой мощности.
Позже после отправки клиентом запроса чтения (IRP_MJ_READ) последовательному контроллеру SerCx2 копирует байты из этого внутреннего буфера программного обеспечения в буфер чтения в запросе.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно начиная с Windows 8.1. |
целевая платформа | Всеобщий |
заголовка | sercx.h |
IRQL | PASSIVE_LEVEL |