IRP_MJ_INTERNAL_DEVICE_CONTROL

En général, tout remplacement d’un pilote existant qui prend en charge les demandes de contrôle de périphérique interne doit gérer cette requête dans une routine DispatchInternalDeviceControl . Un tel pilote doit prendre en charge au moins le même ensemble de codes de contrôle d’E/S internes que le pilote qu’il remplace. Sinon, les pilotes de niveau supérieur existants risquent de ne pas fonctionner avec le nouveau pilote.

Les pilotes qui remplacent certains pilotes système de niveau inférieur sont requis pour gérer cette demande. Par exemple, un remplacement du pilote de port parallèle système doit continuer à prendre en charge les pilotes de classe parallèle existants. Notez que certains pilotes système qui gèrent cette requête ne peuvent pas être remplacés, en particulier les pilotes de port SCSI et vidéo fournis par le système.

Date d’envoi

À tout moment après l’achèvement réussi d’une demande de création.

Paramètres d’entrée

Le code de contrôle d’E/S se trouve dans Parameters.DeviceIoControl.IoControlCode dans l’emplacement de la pile d’E/S de l’IRP.

Les autres paramètres d’entrée dépendent de la valeur du code de contrôle d’E/S. Pour plus d’informations, consultez Descriptions des tampons pour les codes de contrôle d’E/S.

Paramètres de sortie

Les paramètres de sortie dépendent de la valeur du code de contrôle d’E/S. Pour plus d’informations, consultez Descriptions des tampons pour les codes de contrôle d’E/S.

Opération

Les pilotes reçoivent des requêtes IRP_MJ_INTERNAL_DEVICE_CONTROL lorsqu’un autre pilote appelle IoBuildDeviceIoControlRequest ou IoAllocateIrp pour créer une requête.

Ce code de contrôle d’E/S a été défini pour la communication entre les pilotes en mode noyau appairés et en couches, par exemple un ou plusieurs pilotes de classe superposés sur un pilote de port. Le pilote de niveau supérieur configure les IRP avec des codes de contrôle d’E/S spécifiques au périphérique ou au pilote, en demandant la prise en charge du pilote inférieur suivant.

L’opération demandée est spécifique au périphérique ou au pilote.

Pour obtenir des informations générales sur les codes de contrôle d’E/S pour les demandes de IRP_MJ_DEVICE_CONTROL ou de IRP_MJ_INTERNAL_DEVICE_CONTROL , consultez Utilisation des codes de contrôle d’E/S. Voir aussi Demandes d’E/S Type-Specific d’appareil.

Spécifications

En-tête

Wdm.h (inclure Wdm.h, Ntddk.h ou Ntifs.h)

Voir aussi

DispatchInternalDeviceControl

IoAllocateIrp

IoBuildDeviceIoControlRequest