Appareils d’interface humaine (HID)

Vue d’ensemble de la technologie HID (Human Interface Devices).

Pour développer des appareils d’interface humaine (HID), vous avez besoin des en-têtes suivants :

Pour obtenir le guide de programmation, consultez Appareils d’interface humaine (HID).

Pour connaître les API de programmation Win32 HID, consultez Informations de référence sur les appareils d’interface humaine Win32.

Cette section contient les interfaces de programmation liées aux appareils d’interface humaine (ou HID). En règle générale, il s’agit d’appareils que les humains utilisent pour contrôler directement le fonctionnement des systèmes informatiques.

Routines de prise en charge HIDClass

Il existe des routines fournies par le système que les applications en mode utilisateur, les pilotes en mode noyau et les mini-disques HID utilisent pour faire fonctionner des appareils dans la classe d’installation d’appareil HIDClass.

En règle générale, les applications en mode utilisateur peuvent utiliser les routines HidD_Xxx et HidP_Xxx. Toutefois, les pilotes en mode noyau peuvent uniquement appeler HidP_Xxx routines.

Les minidrivers HID utilisent uniquement la routine HidRegisterMinidriver .

Par Windows 8.1 Microsoft a introduit la nouvelle API Windows.Devices.HumanInterfaceDevice qui vous permet d’écrire des applications Windows qui accèdent aux appareils HID.

L’en-tête définit les IOCTL qu’un minidriver HID doit prendre en charge. Seul le pilote de classe HID envoie ces IOCTL à un minidriver HID. Les applications en mode utilisateur et autres pilotes en mode noyau peuvent uniquement communiquer avec les collections HID à l’aide des routines de prise en charge HIDClass et des IOCTL des pilotes de classe HID.

HID Minidriver IOCTLs

Un minidriver HID doit gérer un ensemble de IOCTL. Seul le pilote de classe HID envoie ces IOCTL à un minidriver HID. Les applications en mode utilisateur et autres pilotes en mode noyau peuvent uniquement communiquer avec les collections HID à l’aide des routines de prise en charge HIDClass et des IOCTL des pilotes de classe HID.

Rubrique Description
IOCTL_HID_ACTIVATE_DEVICE La requête IOCTL_HID_ACTIVATE_DEVICE active un appareil HIDClass, ce qui le rend prêt pour les opérations d’E/S.
IOCTL_HID_DEACTIVATE_DEVICE La requête IOCTL_HID_DEACTIVATE_DEVICE désactive un appareil HIDClass, ce qui l’oblige à arrêter les opérations et à mettre fin à toutes les demandes d’E/S en suspens.
IOCTL_HID_GET_DEVICE_ATTRIBUTES La requête IOCTL_HID_GET_DEVICE_ATTRIBUTES obtient les attributs d’un appareil HIDClass dans une structure HID_DEVICE_ATTRIBUTES.
IOCTL_HID_GET_DEVICE_DESCRIPTOR La requête IOCTL_HID_GET_DEVICE_DESCRIPTOR obtient le descripteur HID d’un appareil HIDClass.
IOCTL_HID_GET_REPORT_DESCRIPTOR La demande IOCTL_HID_GET_REPORT_DESCRIPTOR obtient le descripteur de rapport pour un appareil HIDClass.
IOCTL_HID_GET_STRING La demande IOCTL_HID_GET_STRING obtient un ID de fabricant, un ID de produit ou un numéro de série pour une collection de niveau supérieur. La chaîne récupérée est une chaîne de caractères larges terminée par null dans un format lisible par l’utilisateur.
IOCTL_HID_READ_REPORT La requête IOCTL_HID_READ_REPORT transfère un rapport d’entrée d’un appareil HIDClass vers la mémoire tampon du pilote de classe HID.
IOCTL_HID_WRITE_REPORT La demande IOCTL_HID_WRITE_REPORT envoie un rapport HID à un appareil HIDClass.
IOCTL_UMDF_GET_PHYSICAL_DESCRIPTOR Le code de contrôle IOCTL_UMDF_GET_PHYSICAL_DESCRIPTOR obtient le descripteur physique d’un appareil HIDClass.
IOCTL_UMDF_HID_GET_FEATURE Le code de contrôle IOCTL_UMDF_HID_GET_FEATURE obtient un rapport de fonctionnalités à partir d’un appareil HIDClass.
IOCTL_UMDF_HID_GET_INPUT_REPORT Le code de contrôle IOCTL_UMDF_HID_GET_INPUT_REPORT retourne un rapport d’entrée à partir d’un appareil HIDClass.
IOCTL_UMDF_HID_SET_FEATURE Le code de contrôle IOCTL_UMDF_HID_GET_FEATURE envoie un rapport de fonctionnalité à un appareil HIDClass.
IOCTL_UMDF_HID_SET_OUTPUT_REPORT Le code de contrôle IOCTL_UMDF_HID_SET_OUTPUT_REPORT envoie un rapport de sortie à une collection de niveau supérieur.

IOCTLs du pilote de classe HID

Le pilote de classe HID gère les IOCTL pour prendre en charge les collections de niveau supérieur.

Bien que les applications utilisateur puissent communiquer avec le pilote de classe HID en utilisant HidD_Xxx routines de prise en charge HIDClass, les pilotes en mode noyau doivent envoyer les demandes de contrôle d’appareil correspondantes décrites dans cette section.

Les paramètres d’entrée et de sortie sont spécifiques à la demande.

À la fin d’une demande, les membres du bloc d’E/S status sont définis comme suit :

Le membre Status est défini par le pilote de classe HID pour toutes les demandes qu’il gère.

Comme décrit pour chaque IOCTL, le membre Information est défini soit par le pilote de classe, soit par un pilote de niveau inférieur. Normalement, lorsqu’un pilote de niveau inférieur transfère des données depuis ou vers un appareil, le pilote de niveau inférieur définit Information sur le nombre d’octets transférés. Toutefois, le pilote de classe HID peut retourner une valeur différente.

Rubrique Description
IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS La demande IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS obtient la taille de la file d’attente du rapport d’entrée pour une collection de niveau supérieur.
IOCTL_GET_PHYSICAL_DESCRIPTOR La requête IOCTL_GET_PHYSICAL_DESCRIPTOR obtient le descripteur physique d’une collection de niveau supérieur.
IOCTL_HID_DEVICERESET_NOTIFICATION La demande IOCTL_HID_DEVICERESET_NOTIFICATION est envoyée par le pilote client HID au pilote de classe HID pour attendre un événement de réinitialisation initié par l’appareil.
IOCTL_HID_DISABLE_SECURE_READ La demande de IOCTL_HID_DISABLE_SECURE_READ annule une demande de IOCTL_HID_ENABLE_SECURE_READ pour une collection HID.
IOCTL_HID_ENABLE_SECURE_READ La requête IOCTL_HID_ENABLE_SECURE_READ permet une lecture sécurisée pour les fichiers ouverts d’une collection HID.
IOCTL_HID_ENABLE_WAKE_ON_SX La demande de IOCTL_HID_ENABLE_WAKE_ON_SX est utilisée pour indiquer la condition requise pour qu’un appareil puisse être mis en veille du système.
IOCTL_HID_FLUSH_QUEUE La requête IOCTL_HID_FLUSH_QUEUE supprime tous les rapports d’entrée non traités de la file d’attente de rapports d’entrée d’une collection de niveau supérieur.
IOCTL_HID_GET_COLLECTION_DESCRIPTOR La requête IOCTL_HID_GET_COLLECTION_DESCRIPTOR obtient les données préparées d’une collection de niveau supérieur, que le pilote de classe HID a extraites du descripteur de rapport de l’appareil physique lors de l’initialisation de l’appareil.
IOCTL_HID_GET_COLLECTION_INFORMATION La requête IOCTL_HID_GET_COLLECTION_INFORMATION obtient la structure HID_COLLECTION_INFORMATION d’une collection de niveau supérieur.
IOCTL_HID_GET_DRIVER_CONFIG La requête IOCTL_HID_GET_DRIVER_CONFIG récupère la configuration du pilote.
IOCTL_HID_GET_FEATURE La demande IOCTL_HID_GET_FEATURE retourne un rapport de fonctionnalité associé à une collection de niveau supérieur.
IOCTL_HID_GET_HARDWARE_ID La demande IOCTL_HID_GET_HARDWARE_ID obtient l’ID matériel Plug-and-Play d’une collection de niveau supérieur.
IOCTL_HID_GET_INDEXED_STRING La requête IOCTL_HID_GET_INDEXED_STRING obtient une chaîne incorporée spécifiée à partir d’une collection de niveau supérieur.
IOCTL_HID_GET_INPUT_REPORT La demande IOCTL_HID_GET_INPUT_REPORT obtient un rapport d’entrée à partir d’une collection de niveau supérieur.
IOCTL_HID_GET_MANUFACTURER_STRING La requête IOCTL_HID_GET_MANUFACTURER_STRING obtient la chaîne incorporée d’une collection de niveau supérieur qui identifie le fabricant de l’appareil.
IOCTL_HID_GET_MS_GENRE_DESCRIPTOR La requête IOCTL_HID_GET_MS_GENRE_DESCRIPTOR est utilisée pour récupérer le descripteur de genre pour l’appareil.
IOCTL_HID_GET_POLL_FREQUENCY_MSEC La requête IOCTL_HID_GET_POLL_FREQUENCY_MSEC obtient la fréquence d’interrogation actuelle, en millisecondes, d’une collection de niveau supérieur.
IOCTL_HID_GET_PRODUCT_STRING La demande IOCTL_HID_GET_PRODUCT_STRING obtient la chaîne incorporée d’une collection de niveau supérieur qui identifie le produit du fabricant. La chaîne récupérée est une chaîne de caractères larges terminée par NULL dans un format lisible par l’homme. Pour obtenir des informations générales sur les appareils HIDClass, consultez Collections HID.
IOCTL_HID_GET_SERIALNUMBER_STRING La demande IOCTL_HID_GET_SERIALNUMBER_STRING obtient la chaîne incorporée d’une collection de niveau supérieur qui identifie le numéro de série de l’appareil.
IOCTL_HID_SET_DRIVER_CONFIG La requête IOCTL_HID_SET_DRIVER_CONFIG définit la configuration du pilote.
IOCTL_HID_SET_FEATURE La demande IOCTL_HID_SET_FEATURE envoie un rapport de fonctionnalité à une collection de niveau supérieur. Pour obtenir des informations générales sur les appareils HIDClass, consultez Collections HID.
IOCTL_HID_SET_OUTPUT_REPORT La demande IOCTL_HID_SET_OUTPUT_REPORT envoie un rapport de sortie à une collection de niveau supérieur.
IOCTL_HID_SET_POLL_FREQUENCY_MSEC La requête IOCTL_HID_SET_POLL_FREQUENCY_MSEC définit la fréquence d’interrogation, en millisecondes, pour une collection de niveau supérieur. Les applications en mode utilisateur ou les pilotes en mode noyau qui effectuent des lectures irrégulières et opportunistes sur un appareil interrogé doivent fournir un intervalle d’interrogation de zéro. Dans ce cas, IOCTL_HID_SET_POLL_FREQUENCY_MSEC ne modifie pas réellement la fréquence d’interrogation de l’appareil ; mais si les données du rapport ne sont pas obsolètes lorsqu’elles sont lues, la lecture est effectuée immédiatement avec les données de rapport les plus récentes pour la collection indiquée. Si les données du rapport sont obsolètes, elles sont actualisées immédiatement, sans attendre l’expiration de l’intervalle d’interrogation, et la lecture est terminée avec les nouvelles données. Si la valeur de l’intervalle d’interrogation fourni dans l’IRP n’est pas égale à zéro, elle doit être >= MIN_POLL_INTERVAL_MSEC et <= MAX_POLL_INTERVAL_MSEC. L’interrogation peut être limitée s’il existe plusieurs collections de niveau supérieur. Pour obtenir des informations générales sur les appareils HIDClass, consultez Collections HID.
IOCTL_HID_SET_S0_IDLE_TIMEOUT La demande IOCTL_HID_SET_S0_IDLE_TIMEOUT est utilisée par un client pour informer le pilote de classe HID de la valeur de délai d’inactivité préférée du client.
IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS La requête IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS définit le nombre de mémoires tampons pour la file d’attente du rapport d’entrée d’une collection de niveau supérieur. Chaque file d’attente de rapport d’entrée est implémentée en tant que mémoire tampon en anneau. Si une collection transmet des données au pilote de classe HID plus rapidement que le pilote ne peut les lire, certaines données peuvent être perdues. Pour éviter ce type de perte, vous pouvez utiliser une demande de IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS pour ajuster le nombre de mémoires tampons que contient la file d’attente du rapport d’entrée. Le pilote de classe HID nécessite au moins deux mémoires tampons d’entrée. Le nombre maximal de mémoires tampons d’entrée que le pilote de classe HID prend en charge est de 512. Le nombre par défaut de mémoires tampons d’entrée est 32. Pour obtenir des informations générales sur les appareils HIDClass, consultez Collections HID.

Réservé à une utilisation interne du système

Cette section répertorie, par ordre alphabétique, les routines, les structures, les types d’énumération et les types de données liés à HIDClass qui sont réservés à une utilisation interne du système.

  • DeviceObjectState
  • HID_DRIVER_CONFIG
  • HID_INTERFACE_HIDPARSE
  • HID_INTERFACE_NOTIFY_PNP
  • HIDD_CONFIGURATION
  • HidD_GetConfiguration
  • HidD_GetMsGenreDescriptor
  • HidD_SetConfiguration
  • HIDP_COLLECTION_DESC
  • HIDP_DEVICE_DESC
  • HidP_FreeCollectionDescription
  • HIDP_GETCOLDESC_DBG
  • HIDP_KEYBOARD_DIRECTION
  • HIDP_KEYBOARD_MODIFIER_STATE
  • HIDP_REPORT_IDS
  • HidP_SysPowerCaps
  • HidP_SysPowerEvent
  • HidP_TranslateUsageAndPagesToI8042ScanCodes
  • PHID_STATUS_CHANGE
  • PHIDP_INSERT_SCANCODES
  • PHIDP_REPORT_DESCRIPTOR

DeviceObjectState

Le type d’énumération DeviceObjectState est réservé à une utilisation interne du système.

enum DeviceObjectState {
  DeviceObjectStarted,
  DeviceObjectStopped,
  DeviceObjectRemoved
};

En-têtes déclarés dans Hidclass.h.

HID_DRIVER_CONFIG

La structure HID_DRIVER_CONFIG est réservée à une utilisation interne du système.

typedef struct _HID_DRIVER_CONFIG {
  ULONG  Size;
  ULONG  RingBufferSize;
} HID_DRIVER_CONFIG, *PHID_DRIVER_CONFIG;

En-têtes déclarés dans Hidclass.h.

HID_INTERFACE_HIDPARSE

La structure HID_INTERFACE_HIDPARSE est réservée à une utilisation interne du système.

typedef struct _HID_INTERFACE_HIDPARSE {
#ifndef __cplusplus
  INTERFACE;
#else
  INTERFACE  i;
#endif
  PHIDP_GETCAPS  HidpGetCaps;
} HID_INTERFACE_HIDPARSE, *PHID_INTERFACE_HIDPARSE;

En-têtes déclarés dans Hidclass.h.

HID_INTERFACE_NOTIFY_PNP

La structure HID_INTERFACE_NOTIFY_PNP est réservée à une utilisation interne du système.

typedef struct _HID_INTERFACE_NOTIFY_PNP {
#ifndef __cplusplus
  INTERFACE;
#else
  INTERFACE  i;
#endif
  PHID_STATUS_CHANGE  StatusChangeFn;
  PVOID CallbackContext;
} HID_INTERFACE_NOTIFY_PNP, *PHID_INTERFACE_NOTIFY_PNP;

En-têtes déclarés dans Hidclass.h.

HIDD_CONFIGURATION

La structure HIDD_CONFIGURATION est réservée à une utilisation interne du système.

typedef struct _HIDD_CONFIGURATION {
  PVOID  cookie;
  ULONG  size;
  ULONG  RingBufferSize;
} HIDD_CONFIGURATION, *PHIDD_CONFIGURATION;

En-têtes déclarés dans Hidsdi.h.

HidD_GetConfiguration

La routine HidD_GetConfiguration est réservée à une utilisation interne du système.

BOOLEAN __stdcall
HidD_GetConfiguration(
    IN HANDLE  HidDeviceObject,
    OUT PHIDD_CONFIGURATION  Configuration,
    IN ULONG  ConfigurationLength
    );

En-têtes déclarés dans Hidsdi.h.

HidD_GetMsGenreDescriptor

La routine HidD_GetMsGenreDescriptor est réservée à une utilisation interne du système.

BOOLEAN __stdcall
HidD_GetMsGenreDescriptor(
    IN HANDLE  HidDeviceObject,
    OUT PVOID  Buffer,
    IN ULONG  BufferLength
    );

En-têtes déclarés dans Hidsdi.h.

HidD_SetConfiguration

La routine HidD_SetConfiguration est réservée à une utilisation interne du système.

BOOLEAN __stdcall
HidD_SetConfiguration(
    IN HANDLE  HidDeviceObject,
    IN PHIDD_CONFIGURATION  Configuration,
    IN ULONG  ConfigurationLength
    );

En-têtes déclarés dans Hidsdi.h.

HIDP_COLLECTION_DESC

La structure HIDP_COLLECTION_DESC est réservée à une utilisation interne du système.

typedef struct _HIDP_COLLECTION_DESC {
  USAGE  UsagePage;
  USAGE  Usage;
  UCHAR  CollectionNumber;
  UCHAR  Reserved [15];
  USHORT  InputLength;
  USHORT  OutputLength;
  USHORT  FeatureLength;
  USHORT  PreparsedDataLength;
  PHIDP_PREPARSED_DATA  PreparsedData;
} HIDP_COLLECTION_DESC, *PHIDP_COLLECTION_DESC;

En-têtes déclarés dans Hidpddi.h.

HIDP_DEVICE_DESC

La structure HIDP_DEVICE_DESC est réservée à une utilisation interne du système.

typedef struct _HIDP_DEVICE_DESC {
  PHIDP_COLLECTION_DESC  CollectionDesc;
  ULONG  CollectionDescLength;
  PHIDP_REPORT_IDS  ReportIDs;
  ULONG  ReportIDsLength;
  HIDP_GETCOLDESC_DBG  Dbg;
} HIDP_DEVICE_DESC, *PHIDP_DEVICE_DESC;

En-têtes déclarés dans Hidpddi.h.

HidP_FreeCollectionDescription

La routine HidP_FreeCollectionDescription est réservée à une utilisation interne du système.

VOID
HidP_FreeCollectionDescription(
    IN PHIDP_DEVICE_DESC  DeviceDescription
    );

En-têtes déclarés dans Hidpddi.h.

HIDP_GETCOLDESC_DBG

La structure HIDP_GETCOLDESC_DBG est réservée à une utilisation interne du système.

typedef struct _HIDP_GETCOLDESC_DBG {
  ULONG  BreakOffset;
  ULONG  ErrorCode;
  ULONG  Args[6];
} HIDP_GETCOLDESC_DBG, *PHIDP_GETCOLDESC_DBG;

En-têtes déclarés dans Hidpddi.h.

HIDP_KEYBOARD_DIRECTION

Le type d’énumération HIDP_KEYBOARD_DIRECTION est réservé à une utilisation interne du système.

typedef enum _HIDP_KEYBOARD_DIRECTION {
 HidP_Keyboard_Break,
 HidP_Keyboard_Make
} HIDP_KEYBOARD_DIRECTION;

En-têtes déclarés dans Hidpi.h.

HIDP_KEYBOARD_MODIFIER_STATE

La structure HIDP_KEYBOARD_MODIFIER_STATE est réservée à une utilisation interne du système.

typedef struct _HIDP_KEYBOARD_MODIFIER_STATE {
  union {
    struct {
      ULONG  LeftControl: 1;
      ULONG  LeftShift: 1;
      ULONG  LeftAlt: 1;
      ULONG  LeftGUI: 1;
      ULONG  RightControl: 1;
      ULONG  RightShift: 1;
      ULONG  RightAlt: 1;
      ULONG  RigthGUI: 1;
      ULONG  CapsLock: 1;
      ULONG  ScollLock: 1;
      ULONG  NumLock: 1;
      ULONG  Reserved: 21;
    };
    ULONG ul;
  };
} HIDP_KEYBOARD_MODIFIER_STATE, *PHIDP_KEYBOARD_MODIFIER_STATE;

En-têtes déclarés dans Hidpi.h.

HIDP_REPORT_IDS

La structure HIDP_REPORT_IDS est réservée à une utilisation interne du système.

typedef struct _HIDP_REPORT_IDS {
  UCHAR  ReportID;
  UCHAR  CollectionNumber;
  USHORT  InputLength;
  USHORT  OutputLength;
  USHORT  FeatureLength;
} HIDP_REPORT_IDS, *PHIDP_REPORT_IDS;

En-têtes déclarés dans Hidpddi.h.

HidP_SysPowerCaps

La routine HidP_SysPowerCaps est réservée à une utilisation interne du système.

NTSTATUS
HidP_SysPowerCaps(
    IN PHIDP_PREPARSED_DATA  Ppd,
    OUT PULONG  OutputBuffer
    );

En-têtes déclarés dans Hidpddi.h.

HidP_SysPowerEvent

La routine HidP_SysPowerEvent est réservée à une utilisation interne du système.

NTSTATUS
HidP_SysPowerEvent(
    IN PCHAR  HidPacket,
    IN USHORT  HidPacketLength,
    IN PHIDP_PREPARSED_DATA  Ppd,
    OUT PULONG  OutputBuffer
    );

En-têtes déclarés dans Hidpddi.h.

HidP_TranslateUsageAndPagesToI8042ScanCodes

La routine HidP_TranslateUsageAndPagesToI8042ScanCodes est réservée à une utilisation interne du système.

NTSTATUS __stdcall
  HidP_TranslateUsageAndPagesToI8042ScanCodes(
    IN PUSAGE_AND_PAGE  ChangedUsageList,
    IN ULONG  UsageListLength,
    IN HIDP_KEYBOARD_DIRECTION  KeyAction,
    IN OUT PHIDP_KEYBOARD_MODIFIER_STATE  ModifierState,
    IN PHIDP_INSERT_SCANCODES  InsertCodesProcedure,
    IN PVOID  InsertCodesContext
    );

En-têtes déclarés dans Hidpi.h.

PHID_STATUS_CHANGE

La routine PHID_STATUS_CHANGE est réservée à une utilisation interne du système.

typedef VOID (*PHID_STATUS_CHANGE)(
    PVOID  Context,
    enum DeviceObjectState State
    );

En-têtes déclarés dans Hidclass.h.

PHIDP_INSERT_SCANCODES

La routine PHIDP_INSERT_SCANCODES est réservée à une utilisation interne du système.

typedef BOOLEAN (*PHIDP_INSERT_SCANCODES)(
    IN PVOID  Context,
    IN PCHAR  NewScanCodes,
    IN ULONG  Length
    );

En-têtes déclarés dans Hidpi.h.

PHIDP_REPORT_DESCRIPTOR

Le type de données PHIDP_REPORT_DESCRIPTOR est réservé à une utilisation interne du système.

typedef PUCHAR  PHIDP_REPORT_DESCRIPTOR;

En-têtes déclarés dans Hidpi.h.

Fonctions de rappel

Titre Description
EVT_VHF_ASYNC_OPERATION Le pilote source HID implémente ce rappel d’événement s’il souhaite prendre en charge l’une des quatre opérations asynchrones pour obtenir et définir des rapports HID.
EVT_VHF_CLEANUP Le pilote source HID implémente ce rappel d’événement aux ressources libres qui peuvent être allouées au périphérique HID virtuel.
EVT_VHF_READY_FOR_NEXT_READ_REPORT Le pilote source HID implémente cette fonction de rappel d’événement pour utiliser son schéma de mise en mémoire tampon pour les rapports d’entrée HID et souhaite recevoir une notification quand le rapport suivant peut être soumis à VHF.
PHIDP_GETCAPS La routine HidP_GetCaps retourne la structure HIDP_CAPS d’une collection de niveau supérieur.
PI8042_ISR_WRITE_PORT La routine de rappel de type PI8042_ISR_WRITE_PORT écrit des données dans un port i8042. I8042prt fournit ce rappel.
PI8042_KEYBOARD_INITIALIZATION_ROUTINE Une routine de rappel typée PI8042_KEYBOARD_INITIALIZATION_ROUTINE complète l’initialisation par défaut d’un clavier par I8042prt.
PI8042_KEYBOARD_ISR Une routine de rappel de type PI8042_KEYBOARD_ISR personnalise le fonctionnement du clavier I8042prt ISR.
PI8042_MOUSE_ISR Une routine de rappel de type PI8042_MOUSE_ISR personnalise le fonctionnement de l’ISR de la souris I8042prt.
PI8042_QUEUE_PACKET La routine de rappel typée PI8042_QUEUE_PACKET met en file d’attente un paquet de données d’entrée à traiter par le DPC ISR d’un clavier ou d’un périphérique de souris. I8042prt fournit ce rappel.
PI8042_SYNCH_READ_PORT La routine de rappel typée PI8042_SYNCH_READ_PORT effectue une lecture synchronisée à partir d’un port i8042. I8042prt fournit ce rappel.
PI8042_SYNCH_WRITE_PORT La routine de rappel typé PI8042_SYNCH_READ_PORT effectue une écriture synchronisée sur un port i8042. I8042prt fournit cette routine.
PSERVICE_CALLBACK_ROUTINE Un pilote de fonction appelle le rappel de service de classe dans sa routine d’achèvement de la répartition ISR. Le rappel du service de classe transfère les données d’entrée de la mémoire tampon de données d’entrée d’un appareil vers la file d’attente de données de classe.

Codes de contrôle d’E/S

Titre Description
IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS IOCTL La demande IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS obtient la taille de la file d’attente du rapport d’entrée pour une collection de niveau supérieur.
IOCTL_GET_PHYSICAL_DESCRIPTOR IOCTL La demande IOCTL_GET_PHYSICAL_DESCRIPTOR obtient le descripteur physique d’une collection de niveau supérieur. Pour un minidriver, ce descripteur est le descripteur de l’appareil HIDClass.
IOCTL_HID_ACTIVATE_DEVICE IOCTL La demande IOCTL_HID_ACTIVATE_DEVICE active un appareil HIDClass, ce qui le rend prêt pour les opérations d’E/S.
IOCTL_HID_DEACTIVATE_DEVICE IOCTL La demande IOCTL_HID_DEACTIVATE_DEVICE désactive un appareil HIDClass, ce qui l’amène à arrêter les opérations et à arrêter toutes les demandes d’E/S en attente.
IOCTL_HID_DEVICERESET_NOTIFICATION IOCTL La demande IOCTL_HID_DEVICERESET_NOTIFICATION est envoyée par le pilote client HID au pilote de classe HID pour attendre un événement de réinitialisation initié par le périphérique.
IOCTL_HID_DISABLE_SECURE_READ IOCTL La demande IOCTL_HID_DISABLE_SECURE_READ annule une demande de IOCTL_HID_ENABLE_SECURE_READ pour une collection HID.
IOCTL_HID_ENABLE_SECURE_READ IOCTL La demande IOCTL_HID_ENABLE_SECURE_READ permet une lecture sécurisée pour les fichiers ouverts d’une collection HID.
IOCTL_HID_ENABLE_WAKE_ON_SX IOCTL La demande IOCTL_HID_ENABLE_WAKE_ON_SX est utilisée pour indiquer la nécessité pour un appareil de sortir du mode de veille du système.
IOCTL_HID_FLUSH_QUEUE IOCTL La requête IOCTL_HID_FLUSH_QUEUE supprime tous les rapports d’entrée non étudiés de la file d’attente de rapports d’entrée d’une collection de niveau supérieur.
IOCTL_HID_GET_COLLECTION_DESCRIPTOR IOCTL La demande IOCTL_HID_GET_COLLECTION_DESCRIPTOR obtient les données préparées d’une collection de niveau supérieur, que le pilote de classe HID a extraites du descripteur de rapport de l’appareil physique lors de l’initialisation de l’appareil.
IOCTL_HID_GET_COLLECTION_INFORMATION IOCTL La requête IOCTL_HID_GET_COLLECTION_INFORMATION obtient la structure HID_COLLECTION_INFORMATION d’une collection de niveau supérieur.
IOCTL_HID_GET_DEVICE_ATTRIBUTES IOCTL La demande IOCTL_HID_GET_DEVICE_ATTRIBUTES obtient les attributs d’un appareil HIDClass dans une structure HID_DEVICE_ATTRIBUTES.
IOCTL_HID_GET_DEVICE_DESCRIPTOR IOCTL La demande IOCTL_HID_GET_DEVICE_DESCRIPTOR obtient le descripteur HID d’un appareil HIDClass.
IOCTL_HID_GET_DRIVER_CONFIG IOCTL La demande IOCTL_HID_GET_DRIVER_CONFIG récupère la configuration du pilote.
IOCTL_HID_GET_FEATURE IOCTL La demande IOCTL_HID_GET_FEATURE retourne un rapport de fonctionnalité associé à une collection de niveau supérieur.
IOCTL_HID_GET_HARDWARE_ID IOCTL La demande IOCTL_HID_GET_HARDWARE_ID obtient l’ID matériel Plug-and-Play d’une collection de niveau supérieur.
IOCTL_HID_GET_INDEXED_STRING IOCTL La demande IOCTL_HID_GET_INDEXED_STRING obtient une chaîne incorporée spécifiée à partir d’une collection de niveau supérieur.
IOCTL_HID_GET_INPUT_REPORT IOCTL La demande IOCTL_HID_GET_INPUT_REPORT obtient un rapport d’entrée à partir d’une collection de niveau supérieur.
IOCTL_HID_GET_MANUFACTURER_STRING IOCTL La requête IOCTL_HID_GET_MANUFACTURER_STRING obtient la chaîne incorporée d’une collection de niveau supérieur qui identifie le fabricant de l’appareil.
IOCTL_HID_GET_MS_GENRE_DESCRIPTOR IOCTL La requête IOCTL_HID_GET_MS_GENRE_DESCRIPTOR est utilisée pour récupérer le descripteur de genre pour l’appareil.
IOCTL_HID_GET_POLL_FREQUENCY_MSEC IOCTL La requête IOCTL_HID_GET_POLL_FREQUENCY_MSEC obtient la fréquence d’interrogation actuelle, en millisecondes, d’une collection de niveau supérieur.
IOCTL_HID_GET_PRODUCT_STRING IOCTL La demande IOCTL_HID_GET_PRODUCT_STRING obtient la chaîne incorporée d’une collection de niveau supérieur qui identifie le produit du fabricant. La chaîne récupérée est une chaîne de caractères larges terminée par null dans un format lisible par l’utilisateur.
IOCTL_HID_GET_REPORT_DESCRIPTOR IOCTL La demande IOCTL_HID_GET_REPORT_DESCRIPTOR obtient le descripteur de rapport pour un appareil HIDClass.
IOCTL_HID_GET_SERIALNUMBER_STRING IOCTL La requête IOCTL_HID_GET_SERIALNUMBER_STRING obtient la chaîne incorporée d’une collection de niveau supérieur qui identifie le numéro de série de l’appareil.
IOCTL_HID_GET_STRING IOCTL La demande IOCTL_HID_GET_STRING obtient un ID de fabricant, un ID de produit ou un numéro de série pour une collection de niveau supérieur. La chaîne récupérée est une chaîne de caractères larges terminée par null dans un format lisible par l’utilisateur.
IOCTL_HID_READ_REPORT IOCTL La requête IOCTL_HID_READ_REPORT transfère un rapport d’entrée d’un appareil HIDClass vers la mémoire tampon du pilote de classe HID.
IOCTL_HID_SEND_IDLE_NOTIFICATION_REQUEST IOCTL Le code de contrôle IOCTL_HID_SEND_IDLE_NOTIFICATION_REQUEST est le IOCTL de la demande de notification inactive IRP que HIDClass envoie aux mini-pilotes HID, tels que HIDUSB, pour informer le pilote de bus que l’appareil est désormais inactif.
IOCTL_HID_SET_DRIVER_CONFIG IOCTL La requête IOCTL_HID_SET_DRIVER_CONFIG définit la configuration du pilote.
IOCTL_HID_SET_FEATURE IOCTL La requête IOCTL_HID_SET_FEATURE envoie un rapport de fonctionnalités à une collection de niveau supérieur.
IOCTL_HID_SET_OUTPUT_REPORT IOCTL La requête IOCTL_HID_SET_OUTPUT_REPORT envoie un rapport de sortie à une collection de niveau supérieur.
IOCTL_HID_SET_POLL_FREQUENCY_MSEC IOCTL La requête IOCTL_HID_SET_POLL_FREQUENCY_MSEC définit la fréquence d’interrogation, en millisecondes, pour une collection de niveau supérieur.
IOCTL_HID_SET_S0_IDLE_TIMEOUT IOCTL La requête IOCTL_HID_SET_S0_IDLE_TIMEOUT est utilisée par un client pour informer le pilote de classe HID de la valeur de délai d’inactivité préférée du client.
IOCTL_HID_WRITE_REPORT IOCTL La demande IOCTL_HID_WRITE_REPORT envoie un rapport HID à un appareil HIDClass.
IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER IOCTL La requête IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER n’est pas prise en charge.
IOCTL_INTERNAL_I8042_HOOK_KEYBOARD IOCTL La demande IOCTL_INTERNAL_I8042_HOOK_KEYBOARD effectue les opérations suivantes
IOCTL_INTERNAL_I8042_HOOK_MOUSE IOCTL La requête IOCTL_INTERNAL_I8042_HOOK_MOUSE ajoute une routine de rappel ISR à l’ISR de la souris I8042prt.
IOCTL_INTERNAL_I8042_KEYBOARD_START_INFORMATION IOCTL La requête IOCTL_INTERNAL_I8042_KEYBOARD_START_INFORMATION transmet un pointeur vers un objet d’interruption de clavier.
IOCTL_INTERNAL_I8042_KEYBOARD_WRITE_BUFFER IOCTL La requête IOCTL_INTERNAL_I8042_KEYBOARD_WRITE_BUFFER écrit des données dans le contrôleur de port i8042 pour contrôler le fonctionnement d’un périphérique clavier.
IOCTL_INTERNAL_I8042_MOUSE_START_INFORMATION IOCTL La requête IOCTL_INTERNAL_I8042_MOUSE_START_INFORMATION transmet un pointeur vers un objet d’interruption de souris.
IOCTL_INTERNAL_I8042_MOUSE_WRITE_BUFFER IOCTL La requête IOCTL_INTERNAL_I8042_MOUSE_WRITE_BUFFER écrit des données dans le contrôleur de port i8042 pour contrôler le fonctionnement d’un appareil de souris.
IOCTL_INTERNAL_KEYBOARD_CONNECT IOCTL La requête IOCTL_INTERNAL_KEYBOARD_CONNECT connecte le service Kbdclass au clavier.
IOCTL_INTERNAL_KEYBOARD_DISCONNECT IOCTL La demande de IOCTL_INTERNAL_KEYBOARD_DISCONNECT est terminée avec une status de STATUS_NOT_IMPLEMENTED. Notez qu’un clavier Plug-and-Play peut être ajouté ou supprimé par le gestionnaire Plug-and-Play.
IOCTL_INTERNAL_MOUSE_CONNECT IOCTL La requête IOCTL_INTERNAL_MOUSE_CONNECT connecte le service Mouclass à un appareil de souris.
IOCTL_INTERNAL_MOUSE_DISCONNECT IOCTL La demande de IOCTL_INTERNAL_MOUSE_DISCONNECT est effectuée par Moufiltr avec une status d’erreur de STATUS_NOT_IMPLEMENTED.
IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS IOCTL La requête IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS définit le nombre de mémoires tampons pour la file d’attente de rapport d’entrée d’une collection de niveau supérieur.
IOCTL_UMDF_GET_PHYSICAL_DESCRIPTOR IOCTL Le code de contrôle IOCTL_UMDF_GET_PHYSICAL_DESCRIPTOR obtient le descripteur physique d’un appareil HIDClass.
IOCTL_UMDF_HID_GET_FEATURE IOCTL Le code de contrôle IOCTL_UMDF_HID_GET_FEATURE obtient un rapport de fonctionnalités à partir d’un appareil HIDClass.
IOCTL_UMDF_HID_GET_INPUT_REPORT IOCTL Le code de contrôle IOCTL_UMDF_HID_GET_INPUT_REPORT retourne un rapport d’entrée à partir d’un appareil HIDClass.
IOCTL_UMDF_HID_SET_FEATURE IOCTL Le code de contrôle IOCTL_UMDF_HID_GET_FEATURE envoie un rapport de fonctionnalité à un appareil HIDClass.
IOCTL_UMDF_HID_SET_OUTPUT_REPORT IOCTL Le code de contrôle IOCTL_UMDF_HID_SET_OUTPUT_REPORT envoie un rapport de sortie à une collection de niveau supérieur.

IOCTLs

 
IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS

La demande IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS obtient la taille de la file d’attente du rapport d’entrée pour une collection de niveau supérieur.
IOCTL_GET_PHYSICAL_DESCRIPTOR

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

La requête IOCTL_HID_ACTIVATE_DEVICE active un appareil HIDClass, ce qui le rend prêt pour les opérations d’E/S.
IOCTL_HID_DEACTIVATE_DEVICE

La requête IOCTL_HID_DEACTIVATE_DEVICE désactive un appareil HIDClass, ce qui l’oblige à arrêter les opérations et à mettre fin à toutes les demandes d’E/S en suspens.
IOCTL_HID_DEVICERESET_NOTIFICATION

La demande IOCTL_HID_DEVICERESET_NOTIFICATION est envoyée par le pilote client HID au pilote de classe HID pour attendre un événement de réinitialisation initié par l’appareil.
IOCTL_HID_DISABLE_SECURE_READ

La demande de IOCTL_HID_DISABLE_SECURE_READ annule une demande de IOCTL_HID_ENABLE_SECURE_READ pour une collection HID.
IOCTL_HID_ENABLE_SECURE_READ

La requête IOCTL_HID_ENABLE_SECURE_READ permet une lecture sécurisée pour les fichiers ouverts d’une collection HID.
IOCTL_HID_ENABLE_WAKE_ON_SX

La demande de IOCTL_HID_ENABLE_WAKE_ON_SX est utilisée pour indiquer la condition requise pour qu’un appareil puisse être mis en veille du système.
IOCTL_HID_FLUSH_QUEUE

La requête IOCTL_HID_FLUSH_QUEUE supprime tous les rapports d’entrée non traités de la file d’attente de rapports d’entrée d’une collection de niveau supérieur.
IOCTL_HID_GET_COLLECTION_DESCRIPTOR

La requête IOCTL_HID_GET_COLLECTION_DESCRIPTOR obtient les données préparées d’une collection de niveau supérieur, que le pilote de classe HID a extraites du descripteur de rapport de l’appareil physique lors de l’initialisation de l’appareil.
IOCTL_HID_GET_COLLECTION_INFORMATION

La requête IOCTL_HID_GET_COLLECTION_INFORMATION obtient la structure HID_COLLECTION_INFORMATION d’une collection de niveau supérieur.
IOCTL_HID_GET_DEVICE_ATTRIBUTES

La requête IOCTL_HID_GET_DEVICE_ATTRIBUTES obtient les attributs d’un appareil HIDClass dans une structure HID_DEVICE_ATTRIBUTES.
IOCTL_HID_GET_DEVICE_DESCRIPTOR

La requête IOCTL_HID_GET_DEVICE_DESCRIPTOR obtient le descripteur HID d’un appareil HIDClass.
IOCTL_HID_GET_DRIVER_CONFIG

La requête IOCTL_HID_GET_DRIVER_CONFIG récupère la configuration du pilote.
IOCTL_HID_GET_FEATURE

La demande IOCTL_HID_GET_FEATURE retourne un rapport de fonctionnalité associé à une collection de niveau supérieur.
IOCTL_HID_GET_HARDWARE_ID

La demande IOCTL_HID_GET_HARDWARE_ID obtient l’ID matériel Plug-and-Play d’une collection de niveau supérieur.
IOCTL_HID_GET_INDEXED_STRING

La requête IOCTL_HID_GET_INDEXED_STRING obtient une chaîne incorporée spécifiée à partir d’une collection de niveau supérieur.
IOCTL_HID_GET_INPUT_REPORT

La demande IOCTL_HID_GET_INPUT_REPORT obtient un rapport d’entrée à partir d’une collection de niveau supérieur.
IOCTL_HID_GET_MANUFACTURER_STRING

La requête IOCTL_HID_GET_MANUFACTURER_STRING obtient la chaîne incorporée d’une collection de niveau supérieur qui identifie le fabricant de l’appareil.
IOCTL_HID_GET_MS_GENRE_DESCRIPTOR

La requête IOCTL_HID_GET_MS_GENRE_DESCRIPTOR est utilisée pour récupérer le descripteur de genre pour l’appareil.
IOCTL_HID_GET_POLL_FREQUENCY_MSEC

La requête IOCTL_HID_GET_POLL_FREQUENCY_MSEC obtient la fréquence d’interrogation actuelle, en millisecondes, d’une collection de niveau supérieur.
IOCTL_HID_GET_PRODUCT_STRING

La demande IOCTL_HID_GET_PRODUCT_STRING obtient la chaîne incorporée d’une collection de niveau supérieur qui identifie le produit du fabricant. La chaîne récupérée est une chaîne de caractères larges terminée par NULL dans un format lisible par l’homme.
IOCTL_HID_GET_REPORT_DESCRIPTOR

La demande IOCTL_HID_GET_REPORT_DESCRIPTOR obtient le descripteur de rapport pour un appareil HIDClass.
IOCTL_HID_GET_SERIALNUMBER_STRING

La demande IOCTL_HID_GET_SERIALNUMBER_STRING obtient la chaîne incorporée d’une collection de niveau supérieur qui identifie le numéro de série de l’appareil.
IOCTL_HID_GET_STRING

La demande IOCTL_HID_GET_STRING obtient un ID de fabricant, un ID de produit ou un numéro de série pour une collection de niveau supérieur. La chaîne récupérée est une chaîne de caractères larges terminée par NULL dans un format lisible par l’homme.
IOCTL_HID_READ_REPORT

La requête IOCTL_HID_READ_REPORT transfère un rapport d’entrée d’un appareil HIDClass dans la mémoire tampon du pilote de classe HID.
IOCTL_HID_SEND_IDLE_NOTIFICATION_REQUEST

Le code de contrôle IOCTL_HID_SEND_IDLE_NOTIFICATION_REQUEST correspond à l’IOCTL de l’IRP de demande de notification inactive que HIDClass envoie aux mini-pilotes HID, tels que HIDUSB, pour informer le pilote de bus que l’appareil est désormais inactif.
IOCTL_HID_SET_DRIVER_CONFIG

La requête IOCTL_HID_SET_DRIVER_CONFIG définit la configuration du pilote.
IOCTL_HID_SET_FEATURE

La demande IOCTL_HID_SET_FEATURE envoie un rapport de fonctionnalité à une collection de niveau supérieur.
IOCTL_HID_SET_OUTPUT_REPORT

La demande IOCTL_HID_SET_OUTPUT_REPORT envoie un rapport de sortie à une collection de niveau supérieur.
IOCTL_HID_SET_POLL_FREQUENCY_MSEC

La requête IOCTL_HID_SET_POLL_FREQUENCY_MSEC définit la fréquence d’interrogation, en millisecondes, pour une collection de niveau supérieur.
IOCTL_HID_SET_S0_IDLE_TIMEOUT

La demande IOCTL_HID_SET_S0_IDLE_TIMEOUT est utilisée par un client pour informer le pilote de classe HID de la valeur de délai d’inactivité préférée du client.
IOCTL_HID_WRITE_REPORT

La demande IOCTL_HID_WRITE_REPORT envoie un rapport HID à un appareil HIDClass.
IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER

La demande IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER n’est pas prise en charge.
IOCTL_INTERNAL_I8042_HOOK_KEYBOARD

La requête IOCTL_INTERNAL_I8042_HOOK_KEYBOARD effectue les opérations suivantes :Ajoute une routine de rappel d’initialisation à la routine d’initialisation du clavier I8042prtAjouter une routine de rappel ISR au clavier I8042prt ISRL’initialisation et les rappels ISR sont facultatifs et sont fournis par un pilote de filtre de niveau supérieur pour un périphérique clavier de style PS/2. Une fois que I8042prt a reçu une demande de IOCTL_INTERNAL_KEYBOARD_CONNECT, il envoie une demande de IOCTL_INTERNAL_I8042_HOOK_KEYBOARD synchrone en haut de la pile du périphérique clavier. Une fois que Kbfiltr a reçu la demande de clavier de raccordement, Kbfiltr filtre la demande de la manière suivante : Enregistre les informations de niveau supérieur passées à Kbfiltr, qui inclut le contexte d’un objet d’appareil de niveau supérieur, un pointeur vers un rappel d’initialisation et un pointeur vers un rappel ISRReplace les informations de niveau supérieur avec ses propresEnregistre le contexte de I8042prt et des pointeurs vers les rappels que le rappel ISR Kbfiltr peut utiliserPour plus d’informations sur cette requête et les rappels, Consultez les rubriques suivantes : Routines de rappel I8042prt Routines de rappelKbfiltr.
IOCTL_INTERNAL_I8042_HOOK_MOUSE

La requête IOCTL_INTERNAL_I8042_HOOK_MOUSE ajoute une routine de rappel ISR à l’ISR de souris I8042prt.
IOCTL_INTERNAL_I8042_KEYBOARD_START_INFORMATION

La requête IOCTL_INTERNAL_I8042_KEYBOARD_START_INFORMATION passe un pointeur vers un objet d’interruption du clavier.
IOCTL_INTERNAL_I8042_KEYBOARD_WRITE_BUFFER

La demande IOCTL_INTERNAL_I8042_KEYBOARD_WRITE_BUFFER écrit des données dans le contrôleur de port i8042 pour contrôler le fonctionnement d’un périphérique clavier.
IOCTL_INTERNAL_I8042_MOUSE_START_INFORMATION

La requête IOCTL_INTERNAL_I8042_MOUSE_START_INFORMATION passe un pointeur vers un objet d’interruption de la souris.
IOCTL_INTERNAL_I8042_MOUSE_WRITE_BUFFER

La demande IOCTL_INTERNAL_I8042_MOUSE_WRITE_BUFFER écrit des données dans le contrôleur de port i8042 pour contrôler le fonctionnement d’un appareil souris.
IOCTL_INTERNAL_KEYBOARD_CONNECT

La demande IOCTL_INTERNAL_KEYBOARD_CONNECT connecte le service Kbdclass au clavier.
IOCTL_INTERNAL_KEYBOARD_DISCONNECT

La demande IOCTL_INTERNAL_KEYBOARD_DISCONNECT est terminée avec une status de STATUS_NOT_IMPLEMENTED. Notez qu’un clavier Plug-and-Play peut être ajouté ou supprimé par le gestionnaire Plug-and-Play.
IOCTL_INTERNAL_MOUSE_CONNECT

La demande IOCTL_INTERNAL_MOUSE_CONNECT connecte le service Mouclass à un appareil de souris.
IOCTL_INTERNAL_MOUSE_DISCONNECT

La demande IOCTL_INTERNAL_MOUSE_DISCONNECT est effectuée par Moufiltr avec une erreur status de STATUS_NOT_IMPLEMENTED.
IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS

La requête IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS définit le nombre de mémoires tampons pour la file d’attente du rapport d’entrée d’une collection de niveau supérieur.
IOCTL_UMDF_GET_PHYSICAL_DESCRIPTOR

Le code de contrôle IOCTL_UMDF_GET_PHYSICAL_DESCRIPTOR obtient le descripteur physique d’un appareil HIDClass.
IOCTL_UMDF_HID_GET_FEATURE

Le code de contrôle IOCTL_UMDF_HID_GET_FEATURE obtient un rapport de fonctionnalité à partir d’un appareil HIDClass.
IOCTL_UMDF_HID_GET_INPUT_REPORT

Le code de contrôle IOCTL_UMDF_HID_GET_INPUT_REPORT retourne un rapport d’entrée à partir d’un appareil HIDClass.
IOCTL_UMDF_HID_SET_FEATURE

Le code de contrôle IOCTL_UMDF_HID_GET_FEATURE envoie un rapport de fonctionnalité à un appareil HIDClass.
IOCTL_UMDF_HID_SET_OUTPUT_REPORT

Le code de contrôle IOCTL_UMDF_HID_SET_OUTPUT_REPORT envoie un rapport de sortie à une collection de niveau supérieur.

Énumérations

 
HIDP_REPORT_TYPE

Le type d’énumération HIDP_REPORT_TYPE est utilisé pour spécifier un type de rapport HID.
KEYBOARD_SCAN_STATE

Le type d’énumération KEYBOARD_SCAN_STATE indique l’état d’analyse d’un octet d’entrée à partir d’un clavier.
MOUSE_STATE

Le type d’énumération MOUSE_STATE identifie l’état actuel de l’entrée à partir d’une souris.

Fonctions

 
EVT_HIDSPICX_NOTIFY_POWERDOWN

En savoir plus sur les alertes suivantes : EVT_HIDSPICX_NOTIFY_POWERDOWN
EVT_HIDSPICX_RESETDEVICE

En savoir plus sur les alertes suivantes : EVT_HIDSPICX_RESETDEVICE
EVT_VHF_ASYNC_OPERATION

Le pilote source HID implémente ce rappel d’événement s’il souhaite prendre en charge l’une des quatre opérations asynchrones pour obtenir et définir des rapports HID.
EVT_VHF_CLEANUP

Le pilote source HID implémente ce rappel d’événement aux ressources libres qui peuvent être allouées au périphérique HID virtuel.
EVT_VHF_READY_FOR_NEXT_READ_REPORT

Le pilote source HID implémente cette fonction de rappel d’événement pour utiliser son schéma de mise en mémoire tampon pour les rapports d’entrée HID et souhaite recevoir une notification quand le rapport suivant peut être soumis à VHF.
HidD_FlushQueue

La routine HidD_FlushQueue supprime tous les rapports d’entrée en attente dans la file d’attente d’entrée d’une collection de niveau supérieur.
HidD_FreePreparsedData

La routine HidD_FreePreparsedData libère les ressources que le pilote de classe HID a allouées pour contenir les données préparées d’une collection de niveau supérieur.
HidD_GetAttributes

La routine HidD_GetAttributes retourne les attributs d’une collection de niveau supérieur spécifiée.
HidD_GetFeature

La routine HidD_GetFeature retourne un rapport de fonctionnalité à partir d’une collection de niveau supérieur spécifiée.
HidD_GetHidGuid

La routine HidD_GetHidGuid retourne l’interface d’appareilGUID pour les appareils HIDClass.
HidD_GetIndexedString

La routine HidD_GetIndexedString retourne une chaîne incorporée spécifiée à partir d’une collection de niveau supérieur.
HidD_GetInputReport

La routine HidD_GetInputReport retourne des rapports d’entrée à partir d’une collection de niveau supérieur.
HidD_GetManufacturerString

La routine HidD_GetManufacturerString retourne la chaîne incorporée d’une collection de niveau supérieur qui identifie le fabricant.
HidD_GetNumInputBuffers

La routine HidD_GetNumInputBuffers retourne la taille actuelle, en nombre de rapports, de la mémoire tampon en anneau que le pilote de classe HID utilise pour mettre en file d’attente les rapports d’entrée d’une collection de niveau supérieur spécifiée.
HidD_GetPhysicalDescriptor

La routine HidD_GetPhysicalDescriptor retourne la chaîne incorporée d’une collection de niveau supérieur qui identifie l’appareil physique du regroupement.
HidD_GetPreparsedData

La routine HidD_GetPreparsedData retourne les données préparées d’une collection de niveau supérieur.
HidD_GetProductString

La routine HidD_GetProductString retourne la chaîne incorporée d’une collection de niveau supérieur qui identifie le produit du fabricant.
HidD_GetSerialNumberString

La routine HidD_GetSerialNumberString retourne la chaîne incorporée d’une collection de niveau supérieur qui identifie le numéro de série de l’appareil physique de la collection.
HidD_SetFeature

La routine HidD_SetFeature envoie un rapport de fonctionnalité à une collection de niveau supérieur.
HidD_SetNumInputBuffers

La routine HidD_SetNumInputBuffers définit le nombre maximal de rapports d’entrée que la mémoire tampon d’anneau de pilote de classe HID peut contenir pour une collection de niveau supérieur spécifiée.
HidD_SetOutputReport

La routine HidD_SetOutputReport envoie un rapport de sortie à une collection de niveau supérieur.
HidP_GetButtonArray

HidP_GetButtonArray retourne un tableau de structures HIDP_BUTTON_ARRAY_DATA pour le rapport spécifié.
HidP_GetButtonCaps

La routine HidP_GetButtonCaps retourne un tableau de fonctionnalités de bouton qui décrit tous les boutons de contrôle HID d’une collection de niveau supérieur pour un type spécifié de rapport HID.
HidP_GetButtons

La macro HidP_GetButtons est un alias mnémonique pour la fonction HHidP_GetUsages.
HidP_GetButtonsEx

La macro HidP_GetButtonsEx est un alias mnémonique pour la fonction HidP_GetUsagesEx.
HidP_GetCaps

La routine HidP_GetCaps retourne la structure HIDP_CAPS d’une collection de niveau supérieur. Cette routine se trouve dans hidpi.h.
HidP_GetCollectionDescription

Remplit un bloc de description d’appareil avec la description du regroupement et les informations d’ID de rapport correspondantes pour le descripteur de rapport spécifié.
HidP_GetData

La routine HidP_GetData retourne, pour un rapport spécifié, un tableau de structures HIDP_DATA qui identifient les index de données de tous les boutons de contrôle HID actuellement définis sur ON (1), ainsi que les index de données et les données associés à toutes les valeurs de contrôle HID.
HidP_GetExtendedAttributes

La routine HidP_GetExtendedAttributes retourne les attributs étendus d’un contrôle HID.
HidP_GetLinkCollectionNodes

La routine HidP_GetLinkCollectionNodes retourne le tableau de collection de liens d’une collection de niveau supérieur.
HidP_GetScaledUsageValue

La routine HidP_GetScaledUsageValue retourne le résultat signé et mis à l’échelle d’une valeur de contrôle HID extraite d’un rapport HID.
HidP_GetSpecificButtonCaps

La routine HidP_GetSpecificButtonCaps retourne un tableau de fonctionnalités de bouton qui décrit tous les boutons de contrôle HID d’une collection de niveau supérieur qui répondent à des critères de sélection spécifiés.
HidP_GetSpecificValueCaps

La routine HidP_GetSpecificValueCaps retourne un tableau de fonctionnalités de valeur qui décrit toutes les valeurs de contrôle HID qui répondent à un critère de sélection spécifié.
HidP_GetUsages

La routine HidP_GetUsages retourne une liste de toutes les utilisations du bouton de contrôle HID qui se trouvent sur une page d’utilisation spécifiée et sont définies sur ON dans un rapport HID.
HidP_GetUsagesEx

La routine HidP_GetUsagesEx retourne une liste de toutes les utilisations du bouton de contrôle HID qui sont définies sur ON dans un rapport HID.
HidP_GetUsageValue

La routine HidP_GetUsageValue extrait les données associées à une valeur de contrôle HID qui correspond aux critères de sélection dans un rapport HID.
HidP_GetUsageValueArray

La routine HidP_GetUsageValueArray extrait les données associées à un tableau de valeurs d’utilisation de contrôle HID à partir d’un rapport HID.
HidP_GetValueCaps

La routine HidP_GetValueCaps retourne un tableau de fonctionnalités de valeur qui décrit toutes les valeurs de contrôle HID dans une collection de niveau supérieur pour un type spécifié de rapport HID.
HidP_GetVersion

La fonction HidP_GetVersion est une implémentation d’en-tête uniquement qui retourne la version de l’API HID.
HidP_InitializeReportForID

La routine HidP_InitializeReportForID initialise un rapport HID.
HidP_MaxDataListLength

La routine HidP_MaxDataListLength retourne le nombre maximal de structures HIDP_DATA que HidP_GetData pouvez retourner pour un type spécifié de rapport HID et une collection de niveau supérieur spécifiée.
HidP_MaxUsageListLength

La routine HidP_MaxUsageListLength retourne le nombre maximal d’utilisations HID que HidP_GetUsages pouvez retourner pour un type spécifié de rapport HID et une collection de niveau supérieur spécifiée.
HidP_SetButtonArray

La fonction HidP_SetButtonArray définit l’état des boutons via un tableau de structures HIDP_BUTTON_ARRAY_DATA.
HidP_SetButtons

La macro HidP_SetButtons est un alias mnémonique pour la fonction HidP_SetUsages.
HidP_SetData

La routine HidP_SetData définit un ensemble spécifié d’utilisations de bouton de contrôle HID et de valeurs dans un rapport HID.
HidP_SetScaledUsageValue

La routine HidP_SetScaledUsageValue convertit un nombre physique signé et mis à l’échelle en valeur logique d’une utilisation HID et définit la valeur d’utilisation dans un rapport HID spécifié.
HidP_SetUsages

Le HidP_SetUsages routine définit les boutons de contrôle HID spécifiés ON (1) dans un rapport HID.
HidP_SetUsageValue

La routine HidP_SetUsageValue définit une valeur de contrôle HID dans un rapport HID spécifié.
HidP_SetUsageValueArray

La routine HidP_SetUsageValueArray définit un tableau de valeurs d’utilisation de contrôle HID dans un rapport HID spécifié.
HidP_TranslateUsagesToI8042ScanCodes

La routine HidP_TranslateUsagesToI8042ScanCodes mappe une liste d’utilisations HID sur la page d’utilisation HID_USAGE_PAGE_KEYBOARD à leurs codes d’analyse PS/2 respectifs (jeu de codes d’analyse 1).
HidP_UnsetButtons

La macro HidP_UnsetButtons est un alias mnémonique pour la fonction HidP_UnsetUsages.
HidP_UnsetUsages

Le HidP_UnsetUsages de routine définit le bouton de contrôle HID spécifié inglément OFF (zéro) dans un rapport HID.
HidP_UsageAndPageListDifference

La fonction HidP_UsageAndPageListDifference retourne la différence entre deux listes d’utilisations.
HidP_UsageListDifference

La routine HidP_UsageListDifference retourne les différences entre deux tableaux d’utilisations HID.
HidRegisterMinidriver

La routine HidRegisterMinidriver est appelée par les minidrivers HID, lors de leur initialisation, pour s’inscrire auprès du pilote de classe HID.
HIDSPICX_DEVICE_CONFIG_INIT

En savoir plus sur les alertes suivantes : HIDSPICX_DEVICE_CONFIG_INIT
HidSpiCxDeviceConfigure

En savoir plus sur : HidSpiCxDeviceConfigure
HidSpiCxDeviceInitConfig

En savoir plus sur : HidSpiCxDeviceInitConfig
HidSpiCxNotifyDeviceReset

En savoir plus sur : HidSpiCxNotifyDeviceReset
PHIDP_GETCAPS

La routine HidP_GetCaps retourne la structure HIDP_CAPS d’une collection de niveau supérieur. Cette routine se trouve dans hidclass.h.
PI8042_ISR_WRITE_PORT

La routine de rappel de type PI8042_ISR_WRITE_PORT écrit des données dans un port i8042. I8042prt fournit ce rappel.
PI8042_KEYBOARD_INITIALIZATION_ROUTINE

Une routine de rappel de type PI8042_KEYBOARD_INITIALIZATION_ROUTINE complète l’initialisation par défaut d’un clavier par I8042prt.
PI8042_KEYBOARD_ISR

Une routine de rappel de type PI8042_KEYBOARD_ISR personnalise le fonctionnement du clavier I8042prt ISR.
PI8042_MOUSE_ISR

Une routine de rappel de type PI8042_MOUSE_ISR personnalise le fonctionnement de l’ISR de la souris I8042prt.
PI8042_QUEUE_PACKET

La routine de rappel de type PI8042_QUEUE_PACKET met en file d’attente un paquet de données d’entrée pour traitement par le DPC ISR d’un clavier ou d’un périphérique de souris. I8042prt fournit ce rappel.
PI8042_SYNCH_READ_PORT

La routine de rappel de type PI8042_SYNCH_READ_PORT effectue une lecture synchronisée à partir d’un port i8042. I8042prt fournit ce rappel.
PI8042_SYNCH_WRITE_PORT

La routine de rappel de type PI8042_SYNCH_READ_PORT effectue une écriture synchronisée sur un port i8042. I8042prt fournit cette routine.
PSERVICE_CALLBACK_ROUTINE

Un pilote de fonction appelle le rappel de service de classe dans sa routine d’achèvement de la répartition ISR. Le rappel du service de classe transfère les données d’entrée de la mémoire tampon de données d’entrée d’un appareil vers la file d’attente de données de classe.
VHF_CONFIG_INIT

Utilisez la fonction VHF_CONFIG_INIT pour initialiser les membres requis de la structure VHF_CONFIG allouée par le pilote source HID.
VhfAsyncOperationComplete

Le pilote source HID appelle cette méthode pour définir les résultats d’une opération asynchrone.
VhfCreate

Le pilote source HID appelle cette méthode pour créer un appareil HID virtuel.
VhfDelete

Le pilote de périphérique HID Source appelle cette méthode pour supprimer un appareil VHF.
VhfReadReportSubmit

Le pilote source HID appelle cette méthode pour envoyer un rapport HID Read (Input) à Virtual HID Framework (VHF).
VhfStart

Le pilote source HID appelle cette méthode pour démarrer le périphérique HID virtuel.

Structures

 
CONNECT_DATA

CONNECT_DATA spécifie les informations que Kbdclass et Mouclass utilisent pour se connecter à un port clavier ou souris.
HID_COLLECTION_INFORMATION

La structure HID_COLLECTION_INFORMATION contient des informations générales sur une collection de niveau supérieur.
HID_DESCRIPTOR

La structure HID_DESCRIPTOR représente un descripteur HID pour un appareil HIDClass.
HID_DEVICE_ATTRIBUTES

La structure HID_DEVICE_ATTRIBUTES contient des informations sur un appareil HIDClass.
HID_DEVICE_EXTENSION

La structure HID_DEVICE_EXTENSION est utilisée par un minidriver HID comme disposition pour l’extension de l’appareil de l’objet d’appareil fonctionnel d’un appareil HIDClass.
HID_MINIDRIVER_REGISTRATION

La structure HID_MINIDRIVER_REGISTRATION contient les informations d’inscription qu’un minidriver HID transmet aux pilotes clients HID lorsque le minidriver s’inscrit auprès du pilote de classe.
HID_XFER_PACKET

La structure HID_XFER_PACKET dans hidclass.he contient des informations sur un rapport HID que le pilote de classe HID utilise avec les demandes d’E/S pour obtenir ou définir un rapport.
HID_XFER_PACKET

La structure HID_XFER_PACKET dans vhf.h contient des informations sur un rapport HID que le pilote de classe HID utilise avec les demandes d’E/S pour obtenir ou définir un rapport.
HIDD_ATTRIBUTES

La structure HIDD_ATTRIBUTES contient des informations sur le fournisseur d’un appareil HIDClass.
HIDP_BUTTON_ARRAY_DATA

La structure HIDP_BUTTON_ARRAY_DATA est utilisée pour obtenir ou définir des données pour un bouton unique dans un tableau de boutons.
HIDP_BUTTON_CAPS

La structure HIDP_BUTTON_CAPS contient des informations sur la capacité d’utilisation d’un bouton de contrôle HID (ou d’un ensemble de boutons associés à une plage d’utilisation).
HIDP_CAPS

La structure HIDP_CAPS contient des informations sur la fonctionnalité d’une collection de niveau supérieur.
HIDP_COLLECTION_DESC

Contient les informations d’une collection de niveau supérieur. Cette structure est utilisée dans l’appel HidP_GetCollectionDescription.
HIDP_DATA

La structure HIDP_DATA contient des informations sur l’index de données et la valeur d’un contrôle HID dans un rapport HID.
HIDP_DEVICE_DESC

Contient le bloc de description de l’appareil rempli dans les descriptions de collection sous forme de listes liées. Cette structure est utilisée par HidP_GetCollectionDescription.
HIDP_EXTENDED_ATTRIBUTES

La structure HIDP_EXTENDED_ATTRIBUTES contient des informations sur les éléments globaux spécifiés pour un contrôle HID que l’analyseur HID n’a pas reconnu.
HIDP_GETCOLDESC_DBG

Contient le code d’erreur indiquant l’échec de l’analyse du descripteur de rapport. Cette structure est utilisée dans l’appel HidP_GetCollectionDescription.
HIDP_LINK_COLLECTION_NODE

La structure HIDP_LINK_COLLECTION_NODE contient des informations sur une collection de liens dans le tableau de collection de liens d’une collection de niveau supérieur.
HIDP_REPORT_IDS

Contient des informations d’ID de rapport pour une collection de niveau supérieur.
HIDP_UNKNOWN_TOKEN

La structure HIDP_UNKNOWN_TOKEN contient des informations sur un élément global que l’analyseur HID n’a pas reconnu.
HIDP_VALUE_CAPS

La structure HIDP_VALUE_CAPS contient des informations qui décrivent la fonctionnalité d’un ensemble de valeurs de contrôle HID (une utilisation unique ou une plage d’utilisation).
HIDSPICX_DEVICE_CONFIG

En savoir plus sur : HIDSPICX_DEVICE_CONFIG
HIDSPICX_DRIVER_GLOBALS

En savoir plus sur : HIDSPICX_DRIVER_GLOBALS
HIDSPICX_REPORT

En savoir plus sur : HIDSPICX_REPORT
INTERNAL_I8042_HOOK_KEYBOARD

INTERNAL_I8042_HOOK_KEYBOARD est utilisé par I8042prt pour connecter des routines de rappel facultatives qui complètent l’initialisation du clavier et l’ISR du clavier. Les rappels peuvent être fournis par un pilote de filtre de niveau supérieur facultatif fourni par le fournisseur.
INTERNAL_I8042_HOOK_MOUSE

INTERNAL_I8042_HOOK_MOUSE est utilisé par I8042prt pour connecter une routine de rappel facultative qui complète le fonctionnement de l’ISR de la souris. Le rappel peut être fourni par un pilote de filtre de niveau supérieur facultatif fourni par le fournisseur.
INTERNAL_I8042_START_INFORMATION

INTERNAL_I8042_START_INFORMATION spécifie l’objet d’interruption qu’un pilote de périphérique de filtre de niveau supérieur facultatif fourni par le fournisseur peut utiliser pour synchroniser son fonctionnement avec un ISR I8042prt.
OUTPUT_PACKET

OUTPUT_PACKET contient des informations sur les données écrites sur un clavier ou une souris par I8042prt.
USAGE_AND_PAGE

La structure USAGE_AND_PAGE spécifie la page d’utilisation et l’ID d’utilisation d’un contrôle HID.
VHF_CONFIG

Contient les informations de configuration initiale fournies par le pilote source HID lorsqu’il appelle VhfCreate pour créer un appareil HID virtuel.