Condividi tramite


IOCTL_IEEE1284_NEGOTIATE IOCTL (ntddpar.h)

La richiesta IOCTL_IEEE1284_NEGOTIATE imposta i protocolli di lettura e scrittura usati per un dispositivo parallelo. Questa richiesta richiede che la porta parallela a cui è collegato il dispositivo parallelo sia bloccata e che sia selezionato il dispositivo parallelo. Il driver bus fornito dal sistema per le porte parallele negozia con il dispositivo parallelo per determinare le modalità più veloci supportate sia dal chipset host che dal dispositivo parallelo tra le modalità specificate dal client. Il driver del bus di porta parallela imposta le modalità di lettura e scrittura predefinite nelle modalità negoziate.

Per altre informazioni, vedere Impostazione e cancellazione di una modalità di comunicazione per un dispositivo parallelo.

Codice principale

IRP_MJ_DEVICE_CONTROL

Buffer di input

Il membro AssociatedIrp.SystemBuffer punta a una struttura PARCLASS_NEGOTIATION_MASK allocata dal client per l'input e l'output delle informazioni sulla modalità. Il client imposta i membri usReadMask e usWriteMask .

Lunghezza del buffer di input

Il membro Parameters.DeviceIoControl.InputBufferLength è impostato sulle dimensioni, in byte, di una struttura PARCLASS_NEGOTIATION_MASK.

Buffer di output

AssociatedIrp.SystemBuffer punta alla struttura PARCLASS_NEGOTIATION_MASK utilizzata dal driver del bus fornito dal sistema per le porte parallele per le informazioni sulla modalità di output. Il driver del bus di porta parallela imposta i membri usReadMask e usWriteMask sulle modalità negoziate.

Lunghezza del buffer di output

Lunghezza di una struttura PARCLASS_NEGOTIATION_MASK .

Blocco dello stato

Se la richiesta ha esito positivo, il membro Informazioni viene impostato sulla dimensione, espressa in byte, di una struttura di PARCLASS_NEGOTIATION_MASK. In caso contrario, il membro Information è impostato su zero.

Il membro Status è impostato su uno dei valori di stato generici restituiti dalle richieste di controllo del dispositivo per dispositivi paralleli o sul valore seguente:

STATUS_INVALID_PARAMETER

Il valore del membro Parameters.DeviceIoControl.InputBufferLength è minore delle dimensioni, in byte, di un PARCLASS_NEGOTIATION_MASK.

Requisiti

Requisito Valore
Intestazione ntddpar.h (include Ntddpar.h)

Vedi anche

PARCLASS_NEGOTIATION_MASK

IOCTL_PAR_GET_DEVICE_CAPS

IOCTL_PAR_GET_DEFAULT_MODES

IOCTL_IEEE1284_GET_MODE