Partager via


IOCTL_IEEE1284_NEGOTIATE IOCTL (ntddpar.h)

La requête IOCTL_IEEE1284_NEGOTIATE définit les protocoles de lecture et d’écriture utilisés pour un appareil parallèle. Cette demande nécessite que le port parallèle auquel l’appareil parallèle est attaché soit verrouillé et que l’appareil parallèle soit sélectionné. Le pilote de bus fourni par le système pour les ports parallèles négocie avec le périphérique parallèle pour déterminer les modes les plus rapides pris en charge par le chipset hôte et le périphérique parallèle parmi les modes spécifiés par le client. Le pilote de bus de port parallèle définit les modes de lecture et d’écriture par défaut sur les modes négociés.

Pour plus d’informations, consultez Définition et suppression d’un mode de communication pour un appareil parallèle.

Code principal

IRP_MJ_DEVICE_CONTROL

Mémoire tampon d'entrée

Le membre AssociatedIrp.SystemBuffer pointe vers une structure PARCLASS_NEGOTIATION_MASK que le client alloue pour l’entrée et la sortie des informations de mode. Le client définit les membres usReadMask et usWriteMask .

Longueur de la mémoire tampon d’entrée

Le membre Parameters.DeviceIoControl.InputBufferLength est défini sur la taille, en octets, d’une structure PARCLASS_NEGOTIATION_MASK.

Mémoire tampon de sortie

AssociatedIrp.SystemBuffer pointe vers la structure PARCLASS_NEGOTIATION_MASK que le pilote de bus fourni par le système pour les ports parallèles utilise pour obtenir des informations sur le mode de sortie. Le pilote de bus de port parallèle définit les membres usReadMask et usWriteMask sur les modes négociés.

Longueur de la mémoire tampon de sortie

Longueur d’une structure de PARCLASS_NEGOTIATION_MASK .

Bloc d’état

Si la demande réussit, le membre Information est défini sur la taille, en octets, d’une structure PARCLASS_NEGOTIATION_MASK. Sinon, le membre Information est défini sur zéro.

Le membre Status est défini sur l’une des valeurs génériques status retournées par les demandes de contrôle d’appareil pour les appareils parallèles ou sur la valeur suivante :

STATUS_INVALID_PARAMETER

La valeur du membre Parameters.DeviceIoControl.InputBufferLength est inférieure à la taille, en octets, d’un PARCLASS_NEGOTIATION_MASK.

Configuration requise

Condition requise Valeur
En-tête ntddpar.h (inclure Ntddpar.h)

Voir aussi

PARCLASS_NEGOTIATION_MASK

IOCTL_PAR_GET_DEVICE_CAPS

IOCTL_PAR_GET_DEFAULT_MODES

IOCTL_IEEE1284_GET_MODE