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


Функция 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 записывает данные в буферные и длину элементов этой структуры.

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

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

Возвращаемый код Описание
STATUS_INVALID_DEVICE_REQUEST
Метод был вызван в неправильном IRQL; или дескриптор WDFDEVICE недействителен; или устройства или 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