Partager via


IOCTL_GET_PHYSICAL_DESCRIPTOR IOCTL (hidclass.h)

La requête IOCTL_GET_PHYSICAL_DESCRIPTOR obtient le descripteur physique d’un collection de niveau supérieur. Pour un minidriver, ce descripteur est le descripteur de l’appareil HIDClass.

Pour obtenir des informations générales sur les appareils HIDClass, consultez collections HID.

Code principal

IRP_MJ_DEVICE_CONTROL

Mémoire tampon d’entrée

Parameters.DeviceIoControl.OutputBufferLength à l’emplacement de la pile d’E/S de l’IRP indique la taille, en octets, de la mémoire tampon de sortie.

Mémoire tampon de sortie

Irp->MdlAddress doit pointer vers la mémoire tampon qui recevra le descripteur physique.

Le minidriver HID copie le descripteur physique dans la mémoire tampon utilisateur à Irp->UserBuffer.

Bloc d’état

Le pilote de classe HID définit le membre Status de Irp->IoStat us sur STATUS_SUCCESS si le transfert s’est terminé sans erreur. Sinon, il est défini sur un code d’erreur NTSTATUS approprié.

Les minidrivers HID qui exécutent les E/S sur l’appareil définissent les champs suivants de Irp->IoStatus:

  • Informations est définie sur le nombre d’octets transférés à partir de l’appareil.
  • 'état est défini sur STATUS_SUCCESS si le transfert s’est terminé sans erreur. Sinon, il est défini sur un code d’erreur NTSTATUS approprié.
Les minidrivers HID qui appellent d’autres pilotes avec cet IRP pour effectuer les E/S sur leur appareil doivent s’assurer que le champ Informations du bloc d’état est correct et ne modifie pas le contenu du champ Status.

Exigences

Exigence Valeur
d’en-tête hidclass.h (include Hidclass.h)

Voir aussi

HidD_GetPhysicalDescriptor