IOCTL_SERIAL_INTERNAL_BASIC_SETTINGS IOCTL (ntddser.h)
Запрос IOCTL_SERIAL_INTERNAL_BASIC_SETTINGS устанавливает для последовательного устройства базовый режим работы. Базовый режим работы Serial считывает и записывает по одному байту за раз, а также не использует управление потоком подтверждения или время ожидания. Базовый режим работы подходит для использования драйвером, использующим подмножество интерфейса UART 16550. Примерами таких драйверов являются драйвер мыши или драйвер графической панели для старого оборудования, использующее UART 16450.
Запрос IOCTL_SERIAL_INTERNAL_BASIC_SETTINGS возвращает параметры режима работы, которые используются непосредственно перед тем, как serial задает базовый режим работы. Клиент использует запрос IOCTL_SERIAL_INTERNAL_RESTORE_SETTINGS для восстановления предыдущего режима работы. Клиент должен рассматривать параметры режима работы как непрозрачные. Последовательный не проверяет параметры при восстановлении параметров. Обратите внимание также, что драйвер, заменяющий последовательный, может реализовывать другой набор основных параметров.
Основной код
IRP_MJ_INTERNAL_DEVICE_CONTROL
Входной буфер
Нет.
Длина входного буфера
Нет.
Выходной буфер
AssociatedIrp.SystemBuffer указывает на структуру, выделенную клиентом SERIAL_BASIC_SETTINGS, которую Serial использует для вывода текущей конфигурации.
Длина выходного буфера
Параметр Parameters.DeviceIoControl.OutputBufferLength имеет размер структуры SERIAL_BASIC_SETTINGS в байтах.
Блок состояния
Если запрос выполнен успешно, элементу Information присваивается размер в байтах SERIAL_BASIC_SETTINGS. В противном случае элементу Information присваивается нулевое значение.
Для элемента Status задано одно из универсальных значений состояния для запросов управления последовательным устройством. Если для параметра Status задано значение STATUS_BUFFER_TOO_SMALL, значение Parameters.DeviceIoControl.OutputLength меньше размера структуры SERIAL_BASIC_SETTINGS в байтах.
Требования
Требование | Значение |
---|---|
Заголовок | ntddser.h (включая Ntddser.h) |