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


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

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

Синтаксис

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

Параметры

[in] Device

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

[in] Length

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

[in, out] BufferDescriptor

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

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

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