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


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

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

Синтаксис

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

Параметры

[in] Device

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

[in] Length

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

[in, out] BufferDescriptor

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

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

SerCxRetrieveTransmitBuffer возвращает 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