Sélection et désélection d’un appareil IEEE 1284 attaché à un port parallèle
Un client peut sélectionner et désélectionner un appareil IEEE 1284.3 attaché à un port parallèle à l’aide des demandes de contrôle d’appareil internes suivantes :
IOCTL_INTERNAL_DESELECT_DEVICE
Un pilote en mode noyau peut également utiliser les routines de rappel d’appareil parallèle fournies par le système qui sont obtenues à l’aide d’une requête IOCTL_INTERNAL_GET_PARALLEL_PNP_INFO . Cette requête retourne une structure PARALLEL_PNP_INFORMATION qui inclut les pointeurs suivants vers les rappels fournis par le système :
Le membre TrySelectDevice est un pointeur vers un rappel PPARALLEL_TRY_SELECT_ROUTINE , qui désélectionne un périphérique de chaîne daisy IEEE 1284.3 ou un appareil de bout de chaîne IEEE 1284 attaché à un port parallèle.
Le membre DeselectDevice est un pointeur vers un rappel PPARALLEL_DESELECT_ROUTINE , qui sélectionne un périphérique de chaîne daisy IEEE 1284.3 ou un appareil de fin de chaîne IEEE 1284 attaché à un port parallèle.
Les demandes de sélection nécessitent le moins de gestion par le client, car le pilote de fonction fourni par le système pour les ports parallèles met en file d’attente la demande de sélection pour le client si le port parallèle est alloué par un autre client. Une fois que le pilote de la fonction de port parallèle a supprimé la file d’attente de la demande de sélection, il tente d’allouer le port et de sélectionner le périphérique IEEE 1284.3. Le client peut annuler une demande de sélection à tout moment en raison d’un délai d’expiration acceptable ou d’une autre condition spécifique à l’appareil.
Note Si un client utilise uniquement le rappel PPARALLEL_TRY_SELECT_ROUTINE pour tenter de sélectionner un appareil parallèle, et si d’autres clients se disputent le port parallèle, le pilote de fonction fourni par le système pour les ports parallèles peut ne jamais allouer le port au client. Pour garantir la réussite, un client doit utiliser une demande IOCTL_INTERNAL_SELECT_DEVICE . (Le pilote de fonction de port parallèle met en file d’attente, puis traite les demandes d’allocation de port et les demandes de sélection d’appareil dans l’ordre dans lequel les demandes de sélection d’appareils sont reçues.)
Une fois que le pilote de fonction de port parallèle a sélectionné un appareil IEEE 1284.3 pour un client, le client dispose d’un accès exclusif au port et au périphérique IEEE 1284.3 sélectionné. Le client doit appeler le rappel PPARALLEL_DESELECT_ROUTINE pour libérer le port et désélectionner l’appareil IEEE 1284.3. Une fois qu’un client libère le port, le pilote de la fonction de port parallèle met la file d’attente d’une requête en attente, le cas échéant, et traite la demande.
Microsoft Windows 2000 prend en charge quatre appareils de chaîne de marguerites par port ; Toutefois, Microsoft recommande d’utiliser au maximum deux appareils de chaîne de marguerites par port. Windows XP prend en charge au maximum deux appareils de chaîne de marguerites par port.