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 LSRMST è abilitato, il driver inserisce informazioni sugli eventi per i tipi di evento 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 di stato della riga durante l'elaborazione della modifica dello stato della riga.
- SERIAL_LSRMST_MST
- Si è verificata una modifica dello 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 durante l'elaborazione della 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
Buffer di input
Il AssociatedIrp.SystemBuffer membro 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 UCHAR.
Buffer di output
Nessuno.
Lunghezza del buffer di output
Nessuno.
Blocco di stato
Se la richiesta ha esito positivo, il membro informazioni viene impostato sulle dimensioni, in byte, di un UCHAR. In caso contrario, Informazioni è impostato su zero.
Il membro stato è impostato su uno dei valori di stato generico per le richieste di controllo del dispositivo seriale. Uno stato di STATUS_INVALID_PARAMETER indica che il carattere di escape specificato è uguale al carattere XON (trasmissione su) o al carattere XOFF (trasmette off) oppure che la sostituzione degli errori è abilitata con il controllo del flusso di handshake.
Fabbisogno
Requisito | Valore |
---|---|
intestazione | ntddser.h (include Ntddser.h) |