Поделиться через


Функция SerCxRetrieveTransmitMdl (sercx.h)

Метод SerCxRetrieveTransmitMdl извлекает MDL, описывающий буфер, содержащий следующий блок выходных данных для передачи.

Синтаксис

NTSTATUS SerCxRetrieveTransmitMdl(
  [in]  WDFDEVICE Device,
  [out] PMDL      *Mdl
);

Параметры

[in] Device

Дескриптор WDFDEVICE для объекта устройства платформы, представляющего последовательный контроллер.

[out] Mdl

Указатель на расположение, в которое метод записывает указатель на MDL.

Возвращаемое значение

SerCxRetrieveTransmitMdl возвращает STATUS_SUCCESS, если вызов выполнен успешно. Возможные возвращаемые значения включают следующие коды ошибок.

Возвращаемый код Описание
STATUS_INVALID_DEVICE_REQUEST
Это значение возвращается, если происходит одно из следующих действий:
  • Выдающийся запрос на передачу отсутствует для получения MDL.
  • Текущее число передаваемых байтов (как сообщается методом SerCxProgressTransmit) не равно нулю.
  • Буфер уже извлечен (и соответствующий вызов метода SerCxProgressTransmit еще не произошел).
  • MDL уже извлечен (и соответствующий вызов метода SerCxProgressTrans mit еще не произошел).

Замечания

Драйвер последовательного контроллера вызывает эту функцию, чтобы получить MDL для использования для текущей операции передачи (записи). MDL описывает буферную память, из которой драйвер должен получить передаваемые данные. Драйвер является эксклюзивным владельцем этого MDL, пока он не вызывает метод SerCxProgressTransmit, после чего указатель MDL недопустим, и драйвер больше не должен пытаться получить доступ к MDL или буферной памяти, описываемой MDL.

Дополнительные сведения о многомерных выражениях см. в разделе Использование многомерных выражений.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно начиная с Windows 8.
целевая платформа Всеобщий
заголовка sercx.h
IRQL <= DISPATCH_LEVEL

См. также

SerCxProgressTransmit