IOCTL_SERIAL_LSRMST_INSERT IOCTL (ntddser.h)
La solicitud IOCTL_SERIAL_LSRMST_INSERT habilita o deshabilita la inserción de información sobre el estado de línea y el estado del módem en el flujo de datos de recepción. Si la inserción LSRMST está habilitada, el controlador inserta información de eventos para los tipos de eventos admitidos. La información del evento incluye un encabezado de evento seguido de datos específicos del evento.
El encabezado de evento contiene un carácter de escape especificado por el cliente y una constante SERIAL_LSRMST_XXX que indica el tipo de evento. El controlador admite los siguientes tipos de eventos:
- SERIAL_LSRMST_LSR_DATA
- Se produjo un cambio en el estado de la línea. El controlador del controlador serie inserta un encabezado de evento seguido de los datos específicos del evento, que es el valor del registro de estado de línea seguido del carácter presente en el hardware de recepción cuando se procesó el cambio de estado de línea.
- SERIAL_LSRMST_LSR_NODATA
- Se ha producido un cambio de estado de línea, pero no hay datos disponibles en el búfer de recepción. El controlador del controlador serie inserta un encabezado de evento seguido de los datos específicos del evento, que es el valor del registro de estado de línea cuando se procesó el cambio de estado de línea.
- SERIAL_LSRMST_MST
- Se produjo un cambio en el estado del módem. El controlador del controlador serie inserta un encabezado de evento seguido de los datos específicos del evento, que es el valor del registro de estado del módem cuando se procesó el cambio de estado del módem.
- SERIAL_LSRMST_ESCAPE
- Indica que el siguiente carácter del flujo de datos de recepción, que se recibió del dispositivo, es idéntico al carácter de escape especificado por el cliente. El controlador del controlador serie inserta un encabezado de evento. No hay datos específicos del evento.
Código principal
Búfer de entrada
El miembro AssociatedIrp.SystemBuffer apunta a un valor de entrada UCHAR asignado por el cliente para usarlo como carácter de escape. Si el carácter de escape es distinto de cero, se habilita la inserción y el controlador serie usa el carácter de escape especificado. De lo contrario, la inserción está deshabilitada.
Longitud del búfer de entrada
El miembro Parameters.DeviceIoControl.InputBufferLength se establece en el tamaño, en bytes, de una UCHAR.
Búfer de salida
Ninguno.
Longitud del búfer de salida
Ninguno.
Bloque de estado
Si la solicitud se realiza correctamente, el miembro Information se establece en el tamaño, en bytes, de un UCHAR. De lo contrario, La información se establece en cero.
El miembro Status se establece en uno de los valores de estado genéricos para las solicitudes de control de dispositivos serie. Un estado de STATUS_INVALID_PARAMETER indica que el carácter de escape especificado es el mismo que el XON (transmitir en) o el carácter XOFF (transmitir desactivado), o que el reemplazo de errores está habilitado con el control de flujo del protocolo de enlace.
Requisitos
Requisito | Valor |
---|---|
Header | ntddser.h (incluya Ntddser.h) |