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


IOCTL_SERIAL_LSRMST_INSERT IOCTL (ntddser.h)

Запрос IOCTL_SERIAL_LSRMST_INSERT включает или отключает вставку сведений о состоянии строки и состояния модема в потоке данных приема. Если вставка LSRMST включена, драйвер вставляет сведения о событиях для поддерживаемых типов событий. Сведения о событии включают заголовок события за которым следуют данные, относящиеся к событиям.

Заголовок события содержит заданный клиентом escape-символ и константу XXXSERIAL_LSRMST_, указывающую тип события. Драйвер поддерживает следующие типы событий:

SERIAL_LSRMST_LSR_DATA
В состоянии строки произошло изменение. Драйвер последовательного контроллера вставляет заголовок события, за которым следует данные, относящиеся к событиям, а это значение регистра состояния строки, за которым следует символ, присутствующих в оборудовании получения при обработке изменения состояния строки.
SERIAL_LSRMST_LSR_NODATA
Произошло изменение состояния строки, но в буфере получения не было доступно никаких данных. Драйвер последовательного контроллера вставляет заголовок события, за которым следует данные, относящиеся к событию, что является значением регистра состояния строки при обработке изменения состояния строки.
SERIAL_LSRMST_MST
В состоянии модема произошло изменение. Драйвер последовательного контроллера вставляет заголовок события, за которым следует данные, относящиеся к событиям, что является значением регистра состояния модема при обработке изменения состояния модема.
SERIAL_LSRMST_ESCAPE
Указывает, что следующий символ в потоке данных получения, полученном от устройства, идентичен указанному клиенту escape-символу. Драйвер последовательного контроллера вставляет заголовок события. Нет данных, относящихся к событиям.

Основной код

IRP_MJ_DEVICE_CONTROL

Входной буфер

Элемент AssociatedIrp.SystemBuffer указывает на выделенное клиентом входное значение UCHAR для использования в качестве escape-символа. Если escape-символ не является ненулевой, то включено вставка, а последовательный драйвер использует указанный escape-символ. В противном случае вставка отключена.

Длина входного буфера

Элемент Parameters.DeviceIoControl.InputBufferLength имеет размер в байтах UCHAR.

Выходной буфер

Никакой.

Длина выходного буфера

Никакой.

Блок состояния

Если запрос выполнен успешно, элемент Information имеет размер в байтах UCHAR. В противном случае information равно нулю.

Элемент состояния имеет одно из универсальных значений состояния для запросов последовательного управления устройствами. Состояние STATUS_INVALID_PARAMETER указывает, что указанный escape-символ совпадает с символом XON (передача) или символом XOFF (отключается) или что замена ошибки включена с помощью управления потоком подтверждения.

Требования

Требование Ценность
заголовка ntddser.h (include Ntddser.h)