Функция 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 в случае успешного выполнения. Возможные возвращаемые значения ошибок включают следующие коды состояния.
Код возврата | Описание |
---|---|
|
Метод был вызван в неправильном IRQL; или недопустимый дескриптор WDFDEVICE; либо Device или BufferDescriptor имеет значение NULL; или драйвер уже имеет буфер передачи. |
|
Для структуры SERCX_BUFFER_DESCRIPTOR указан неправильный размер. |
|
Не удалось выделить системные ресурсы (обычно это память). |
Комментарии
Драйвер последовательного контроллера вызывает этот метод для получения буфера, содержащего выходные данные для текущей операции передачи (записи).
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows 8. |
Целевая платформа | Универсальное |
Верхняя часть | sercx.h |
IRQL | <= DISPATCH_LEVEL |