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


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

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

Синтаксис

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

Параметры

[in] Device

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

[out] Mdl

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

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

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

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

Замечания

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

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

Требования

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

См. также

SerCxProgressReceive