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
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) |