Condividi tramite


IOCTL_SERIAL_SET_MODEM_CONTROL IOCTL (ntddser.h)

La richiesta IOCTL_SERIAL_SET_MODEM_CONTROL imposta il registro di controllo modem (MCR) nell'UART. Non viene eseguita alcuna verifica dei parametri nelle impostazioni del registro fornite dal client.

Per ottenere il valore di MCR, un client può usare una richiesta di IOCTL_SERIAL_GET_MODEM_CONTROL .

Codice principale

IRP_MJ_DEVICE_CONTROL

Buffer di input

Il membro AssociatedIrp.SystemBuffer punta a una ULONG allocata dal client utilizzata per l'input delle informazioni di controllo del modem.

Lunghezza del buffer di input

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

Buffer di output

Nessuno.

Lunghezza del buffer di output

Nessuno.

Blocco dello stato

Il membro Informazioni è impostato su zero.

Il membro Status è impostato su uno dei valori di stato generici per le richieste di controllo del dispositivo seriale.

Commenti

L'implementazione di questa richiesta di controllo I/O (IOCTL) è specifica dell'hardware perché non è definito alcun layout standard per il registro di controllo modem (MCR) nei dispositivi UART compatibili con 16550. I driver per i dispositivi periferici che si connettono alle porte seriali devono evitare l'uso di questo IOCTL, che potrebbe funzionare con alcuni UART, ma non con altri. Questo IOCTL viene usato principalmente per configurare UART in modalità loopback per i test, ma solo se UART ha un MCR che supporta la modalità loopback.

Per un esempio di layout di un mcr, vedere la definizione dei bit MCR (SERIAL_MCR_DTR tramite SERIAL_MCR_LOOP) nel file di intestazione Serial.h nell'esempio di driver seriale su GitHub.

Requisiti

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

Vedi anche

IOCTL_SERIAL_GET_MODEM_CONTROL