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


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

Метод SerCxRetrieveReceiveBuffer получает входной буфер, в который можно загрузить данные, полученные из последовательного порта.

Синтаксис

NTSTATUS SerCxRetrieveReceiveBuffer(
  [in]      WDFDEVICE                Device,
  [in]      ULONG                    Length,
  [in, out] PSERCX_BUFFER_DESCRIPTOR BufferDescriptor
);

Параметры

[in] Device

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

[in] Length

Запрошенная длина буфера в байтах. Если вызов SerCxRetrieveReceiveBuffer выполнен успешно, вызывающий объект получает входной буфер, содержащий до байтов доступного пространства. (Доступное пространство в буфере может быть меньше длины байтов.) SerCxRetrieveReceiveBuffer записывает фактическое количество байтов доступного пространства в элемент Length структуры, на который указывает параметр BufferDescriptor .

[in, out] BufferDescriptor

Указатель на структуру SERCX_BUFFER_DESCRIPTOR , выделенную вызывающим объектом. Эта структура описывает буфер данных, используемый для операции получения. Вызывающий объект ранее вызывал функцию SERCX_BUFFER_DESCRIPTOR_INIT для инициализации этой структуры. SerCxRetrieveTransmitBuffer записывает данные в элементы Buffer и Length этой структуры.

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

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

Код возврата Описание
STATUS_INVALID_DEVICE_REQUEST
Метод был вызван в неправильном irQL; или недопустимый дескриптор WDFDEVICE; либо Device или BufferDescriptor имеет значение NULL; или драйвер уже имеет буфер приема.
STATUS_INFO_LENGTH_MISMATCH
Для структуры SERCX_BUFFER_DESCRIPTOR указан неправильный размер.
STATUS_INSUFFICIENT_RESOURCES
Не удалось выделить системные ресурсы (обычно это память).

Комментарии

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

Требования

Требование Значение
Минимальная версия клиента Доступно начиная с Windows 8.
Целевая платформа Универсальное
Верхняя часть sercx.h
IRQL <= DISPATCH_LEVEL

См. также раздел

SERCX_BUFFER_DESCRIPTOR

SERCX_BUFFER_DESCRIPTOR_INIT