IOCTL_SERIAL_LSRMST_INSERT IOCTL (ntddser.h)

La richiesta di IOCTL_SERIAL_LSRMST_INSERT abilita o disabilita l'inserimento di informazioni sullo stato della riga e sullo stato del modem nel flusso di dati di ricezione. Se l'inserimento di LSRMST è abilitato, il driver inserisce le informazioni sugli eventi per i tipi di eventi supportati. Le informazioni sull'evento includono un'intestazione di evento seguita da dati specifici dell'evento.

L'intestazione dell'evento contiene un carattere di escape specificato dal client e una costante SERIAL_LSRMST_ XXX che indica il tipo di evento. Il driver supporta i tipi di evento seguenti:

SERIAL_LSRMST_LSR_DATA
Si è verificata una modifica nello stato della riga. Il driver del controller seriale inserisce un'intestazione di evento seguita dai dati specifici dell'evento, ovvero il valore del registro di stato della riga seguito dal carattere presente nell'hardware di ricezione quando è stata elaborata la modifica dello stato della riga.
SERIAL_LSRMST_LSR_NODATA
Si è verificata una modifica dello stato della riga, ma non sono stati disponibili dati nel buffer di ricezione. Il driver del controller seriale inserisce un'intestazione di evento seguita dai dati specifici dell'evento, ovvero il valore del registro dello stato della riga quando è stata elaborata la modifica dello stato della riga.
SERIAL_LSRMST_MST
Si è verificato un cambiamento nello stato del modem. Il driver del controller seriale inserisce un'intestazione di evento seguita dai dati specifici dell'evento, ovvero il valore del registro di stato del modem quando è stata elaborata la modifica dello stato del modem.
SERIAL_LSRMST_ESCAPE
Indica che il carattere successivo nel flusso di dati di ricezione, ricevuto dal dispositivo, è identico al carattere di escape specificato dal client. Il driver del controller seriale inserisce un'intestazione di evento. Non sono presenti dati specifici dell'evento.

Codice principale

IRP_MJ_DEVICE_CONTROL

Buffer di input

Il membro AssociatedIrp.SystemBuffer punta a un valore di input UCHAR allocato dal client da usare come carattere di escape. Se il carattere di escape è diverso da zero, l'inserimento è abilitato e il driver seriale usa il carattere di escape specificato. In caso contrario, l'inserimento è disabilitato.

Lunghezza del buffer di input

Il membro Parameters.DeviceIoControl.InputBufferLength è impostato sulle dimensioni, in byte, di un oggetto UCHAR.

Buffer di output

Nessuno.

Lunghezza del buffer di output

Nessuno.

Blocco dello stato

Se la richiesta ha esito positivo, il membro Information viene impostato sulle dimensioni, in byte, di un oggetto UCHAR. In caso contrario, le informazioni sono impostate su zero.

Il membro Status è impostato su uno dei valori di stato generici per le richieste di controllo del dispositivo seriale. Lo stato di STATUS_INVALID_PARAMETER indica che il carattere di escape specificato è uguale al carattere XON (trasmissione in) o al carattere XOFF (trasmette off) o che la sostituzione degli errori è abilitata con il controllo flusso handshake.

Requisiti

Requisito Valore
Intestazione ntddser.h (include Ntddser.h)