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