Share via


Dispositivi di interfaccia umana (HID)

Panoramica della tecnologia HID (Human Interface Devices).

Per sviluppare dispositivi di interfaccia umana (HID), sono necessarie queste intestazioni:

Per la guida alla programmazione, vedere Dispositivi di interfaccia umana (HID).

Per le API di programmazione HID Win32, vedere Informazioni di riferimento su Dispositivi di interfaccia umana Win32.

Questa sezione contiene le interfacce di programmazione correlate ai dispositivi di interfaccia umana (o HID). In genere, questi sono dispositivi che gli esseri umani usano per controllare direttamente l'operazione dei sistemi informatici.

Routine di supporto HIDClass

Esistono routine fornite dal sistema che le applicazioni in modalità utente, i driver in modalità kernel e i minidriver HID usano per gestire i dispositivi nella classe di configurazione del dispositivo HIDClass.

Come regola generale, le applicazioni in modalità utente possono usare le routine di HidD_Xxx e HidP_Xxx. Tuttavia, i driver in modalità kernel possono chiamare solo routine HidP_Xxx.

I minidriver HID usano solo la routine HidRegisterMinidriver .

Per Windows 8.1 Microsoft ha introdotto la nuova API Windows.Devices.HumanInterfaceDevice che consente di scrivere app Windows che accedono ai dispositivi HID.

L'intestazione definisce IOCTLs che un minidriver HID deve supportare. Solo il driver di classe HID invia questi IOCTLs a un minidriver HID. Le applicazioni in modalità utente e altri driver in modalità kernel possono comunicare solo con le raccolte HID usando le routine di supporto HIDClass e IOCTLs del driver di classe HID.

IOCTR HID Minidriver

Un minidriver HID deve gestire un set di IOCTLs. Solo il driver di classe HID invia questi IOCTLs a un minidriver HID. Le applicazioni in modalità utente e altri driver in modalità kernel possono comunicare solo con le raccolte HID usando le routine di supporto HIDClass e IOCTLs del driver di classe HID.

Argomento Descrizione
IOCTL_HID_ACTIVATE_DEVICE La richiesta IOCTL_HID_ACTIVATE_DEVICE attiva un dispositivo HIDClass, che lo rende pronto per le operazioni di I/O.
IOCTL_HID_DEACTIVATE_DEVICE La richiesta di IOCTL_HID_DEACTIVATE_DEVICE disattiva un dispositivo HIDClass, che lo causa l'arresto delle operazioni e termina tutte le richieste di I/O in sospeso.
IOCTL_HID_GET_DEVICE_ATTRIBUTES La richiesta di IOCTL_HID_GET_DEVICE_ATTRIBUTES ottiene gli attributi di un dispositivo HIDClass in una struttura HID_DEVICE_ATTRIBUTES.
IOCTL_HID_GET_DEVICE_DESCRIPTOR La richiesta di IOCTL_HID_GET_DEVICE_DESCRIPTOR ottiene un descrittore HIDClass del dispositivo HID.
IOCTL_HID_GET_REPORT_DESCRIPTOR La richiesta di IOCTL_HID_GET_REPORT_DESCRIPTOR ottiene il descrittore del report per un dispositivo HIDClass.
IOCTL_HID_GET_STRING La richiesta di IOCTL_HID_GET_STRING ottiene un ID produttore, un ID prodotto o un numero di serie per una raccolta di livello superiore. La stringa recuperata è una stringa di caratteri wide con terminazione NULL in un formato leggibile.
IOCTL_HID_READ_REPORT La richiesta di IOCTL_HID_READ_REPORT trasferisce un report di input da un dispositivo HIDClass nel buffer del driver di classe HID.
IOCTL_HID_WRITE_REPORT La richiesta IOCTL_HID_WRITE_REPORT invia un report HID a un dispositivo HIDClass.
IOCTL_UMDF_GET_PHYSICAL_DESCRIPTOR Il codice di controllo IOCTL_UMDF_GET_PHYSICAL_DESCRIPTOR ottiene il descrittore fisico di un dispositivo HIDClass.
IOCTL_UMDF_HID_GET_FEATURE Il codice di controllo IOCTL_UMDF_HID_GET_FEATURE ottiene un report delle funzionalità da un dispositivo HIDClass.
IOCTL_UMDF_HID_GET_INPUT_REPORT Il codice di controllo IOCTL_UMDF_HID_GET_INPUT_REPORT restituisce un report di input da un dispositivo HIDClass.
IOCTL_UMDF_HID_SET_FEATURE Il codice di controllo IOCTL_UMDF_HID_GET_FEATURE invia un report delle funzionalità a un dispositivo HIDClass.
IOCTL_UMDF_HID_SET_OUTPUT_REPORT Il codice di controllo IOCTL_UMDF_HID_SET_OUTPUT_REPORT invia un report di output a una raccolta di primo livello.

IOCTLs del driver di classe HID

Il driver di classe HID gestisce IOCTLs per supportare le raccolte di livello superiore.

Anche se le applicazioni utente possono comunicare con il driver di classe HID usando HidD_Xxx routine di supporto HIDClass, i driver in modalità kernel devono inviare le richieste di controllo del dispositivo corrispondenti descritte in questa sezione.

I parametri di input e output sono specifici della richiesta.

Al termine di una richiesta, i membri del blocco di stato di I/O vengono impostati come segue:

Il membro Status viene impostato dal driver di classe HID per tutte le richieste gestite.

Come descritto per ogni IOCTL, il membro Information viene impostato dal driver di classe o da un driver di livello inferiore. In genere, quando un driver di livello inferiore trasferisce dati da o a un dispositivo, il driver di livello inferiore imposta Informazioni sul numero di byte trasferiti. Tuttavia, il driver di classe HID potrebbe restituire un valore diverso.

Argomento Descrizione
IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS La richiesta di IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS ottiene le dimensioni della coda del report di input per una raccolta di livello superiore.
IOCTL_GET_PHYSICAL_DESCRIPTOR La richiesta di IOCTL_GET_PHYSICAL_DESCRIPTOR ottiene il descrittore fisico di una raccolta di livello superiore.
IOCTL_HID_DEVICERESET_NOTIFICATION La richiesta di IOCTL_HID_DEVICERESET_NOTIFICATION viene inviata dal driver client HID al driver di classe HID per attendere un evento di reimpostazione avviato dal dispositivo.
IOCTL_HID_DISABLE_SECURE_READ La richiesta di IOCTL_HID_DISABLE_SECURE_READ annulla una richiesta di IOCTL_HID_ENABLE_SECURE_READ per una raccolta HID.
IOCTL_HID_ENABLE_SECURE_READ La richiesta di IOCTL_HID_ENABLE_SECURE_READ consente una lettura sicura per i file aperti di una raccolta HID.
IOCTL_HID_ENABLE_WAKE_ON_SX La richiesta di IOCTL_HID_ENABLE_WAKE_ON_SX viene usata per indicare il requisito per un dispositivo di essere in grado di riattivare dalla sospensione del sistema.
IOCTL_HID_FLUSH_QUEUE La IOCTL_HID_FLUSH_QUEUE richiesta dequeue tutti i report di input non riparati da una coda di report di input di primo livello.
IOCTL_HID_GET_COLLECTION_DESCRIPTOR La richiesta di IOCTL_HID_GET_COLLECTION_DESCRIPTOR ottiene i dati preparati di una raccolta di primo livello, che il driver di classe HID estratto dal descrittore del report del dispositivo fisico durante l'inizializzazione del dispositivo.
IOCTL_HID_GET_COLLECTION_INFORMATION La richiesta di IOCTL_HID_GET_COLLECTION_INFORMATION ottiene una struttura di HID_COLLECTION_INFORMATION HID_COLLECTION_INFORMATION di primo livello.
IOCTL_HID_GET_DRIVER_CONFIG La richiesta di IOCTL_HID_GET_DRIVER_CONFIG recupera la configurazione del driver.
IOCTL_HID_GET_FEATURE La richiesta di IOCTL_HID_GET_FEATURE restituisce un report di funzionalità associato a una raccolta di livello superiore.
IOCTL_HID_GET_HARDWARE_ID La richiesta di IOCTL_HID_GET_HARDWARE_ID ottiene l'ID hardware Plug and Play di una raccolta di livello superiore.
IOCTL_HID_GET_INDEXED_STRING La richiesta di IOCTL_HID_GET_INDEXED_STRING ottiene una stringa incorporata specificata da una raccolta di livello superiore.
IOCTL_HID_GET_INPUT_REPORT La richiesta di IOCTL_HID_GET_INPUT_REPORT ottiene un report di input da una raccolta di livello superiore.
IOCTL_HID_GET_MANUFACTURER_STRING La richiesta di IOCTL_HID_GET_MANUFACTURER_STRING ottiene una stringa incorporata della raccolta di primo livello che identifica il produttore del dispositivo.
IOCTL_HID_GET_MS_GENRE_DESCRIPTOR La richiesta di IOCTL_HID_GET_MS_GENRE_DESCRIPTOR viene usata per recuperare il descrittore di genere per il dispositivo.
IOCTL_HID_GET_POLL_FREQUENCY_MSEC La richiesta di IOCTL_HID_GET_POLL_FREQUENCY_MSEC ottiene la frequenza di polling corrente, in millisecondi, di una raccolta di livello superiore.
IOCTL_HID_GET_PRODUCT_STRING La richiesta di IOCTL_HID_GET_PRODUCT_STRING ottiene una stringa incorporata della raccolta di primo livello che identifica il prodotto del produttore. La stringa recuperata è una stringa di caratteri wide con terminazione NULL in un formato leggibile. Per informazioni generali sui dispositivi HIDClass, vedere Raccolte HID.
IOCTL_HID_GET_SERIALNUMBER_STRING La richiesta di IOCTL_HID_GET_SERIALNUMBER_STRING ottiene una stringa incorporata della raccolta di primo livello che identifica il numero di serie del dispositivo.
IOCTL_HID_SET_DRIVER_CONFIG La richiesta di IOCTL_HID_SET_DRIVER_CONFIG imposta la configurazione del driver.
IOCTL_HID_SET_FEATURE La richiesta di IOCTL_HID_SET_FEATURE invia un report di funzionalità a una raccolta di livello superiore. Per informazioni generali sui dispositivi HIDClass, vedere Raccolte HID.
IOCTL_HID_SET_OUTPUT_REPORT La richiesta di IOCTL_HID_SET_OUTPUT_REPORT invia un report di output a una raccolta di livello superiore.
IOCTL_HID_SET_POLL_FREQUENCY_MSEC La richiesta di IOCTL_HID_SET_POLL_FREQUENCY_MSEC imposta la frequenza di polling, in millisecondi, per una raccolta di livello superiore. Le applicazioni in modalità utente o i driver in modalità kernel che eseguono letture irregolari e opportunistiche in un dispositivo sottoposto a polling devono fornire un intervallo di polling pari a zero. In questi casi, IOCTL_HID_SET_POLL_FREQUENCY_MSEC non modifica effettivamente la frequenza di polling del dispositivo; ma se i dati del report non sono aggiornati quando viene letto, la lettura viene completata immediatamente con i dati del report più recenti per la raccolta indicata. Se i dati del report non vengono aggiornati immediatamente, senza attendere la scadenza dell'intervallo di polling e la lettura viene completata con i nuovi dati. Se il valore per l'intervallo di polling specificato in IRP non è zero, deve essere >= MIN_POLL_INTERVAL_MSEC e <= MAX_POLL_INTERVAL_MSEC. Il polling può essere limitato se sono presenti più raccolte di livello superiore. Per informazioni generali sui dispositivi HIDClass, vedere Raccolte HID.
IOCTL_HID_SET_S0_IDLE_TIMEOUT La richiesta di IOCTL_HID_SET_S0_IDLE_TIMEOUT viene usata da un client per informare il driver della classe HID sul valore di timeout di inattività preferito del client.
IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS La richiesta di IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS imposta il numero di buffer per la coda del report di input di una raccolta di livello superiore. Ogni coda di report di input viene implementata come buffer anello. Se una raccolta trasmette i dati al driver di classe HID più velocemente rispetto al driver può leggerlo, alcuni dei dati potrebbero essere persi. Per evitare questo tipo di perdita, è possibile usare una richiesta di IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS per modificare il numero di buffer contenuti nella coda del report di input. Il driver di classe HID richiede almeno due buffer di input. Il numero massimo di buffer di input supportati dal driver di classe HID è 512. Il numero predefinito di buffer di input è 32. Per informazioni generali sui dispositivi HIDClass, vedere Raccolte HID.

Riservato per l'uso interno del sistema

Questa sezione elenca, in ordine alfabetico, le routine correlate ad HIDClass, le strutture, i tipi di enumerazione e i tipi di dati riservati all'uso interno del sistema.

  • 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

Il tipo di enumerazione DeviceObjectState è riservato per l'uso interno del sistema.

enum DeviceObjectState {
  DeviceObjectStarted,
  DeviceObjectStopped,
  DeviceObjectRemoved
};

Intestazioni dichiarate in Hidclass.h.

HID_DRIVER_CONFIG

La struttura HID_DRIVER_CONFIG è riservata per l'uso interno del sistema.

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

Intestazioni dichiarate in Hidclass.h.

HID_INTERFACE_HIDPARSE

La struttura HID_INTERFACE_HIDPARSE è riservata per l'uso interno del sistema.

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

Intestazioni dichiarate in Hidclass.h.

HID_INTERFACE_NOTIFY_PNP

La struttura HID_INTERFACE_NOTIFY_PNP è riservata per l'uso interno del sistema.

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;

Intestazioni dichiarate in Hidclass.h.

HIDD_CONFIGURATION

La struttura HIDD_CONFIGURATION è riservata per l'uso interno del sistema.

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

Intestazioni dichiarate in Hidsdi.h.

HidD_GetConfiguration

La routine HidD_GetConfiguration è riservata per l'uso interno del sistema.

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

Intestazioni dichiarate in Hidsdi.h.

HidD_GetMsGenreDescriptor

La routine HidD_GetMsGenreDescriptor è riservata all'uso interno del sistema.

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

Intestazioni dichiarate in Hidsdi.h.

HidD_SetConfiguration

La routine HidD_SetConfiguration è riservata all'uso interno del sistema.

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

Intestazioni dichiarate in Hidsdi.h.

HIDP_COLLECTION_DESC

La struttura HIDP_COLLECTION_DESC è riservata per l'uso interno del sistema.

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;

Intestazioni dichiarate in Hidpddi.h.

HIDP_DEVICE_DESC

La struttura HIDP_DEVICE_DESC è riservata per l'uso interno del sistema.

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;

Intestazioni dichiarate in Hidpddi.h.

HidP_FreeCollectionDescription

La routine HidP_FreeCollectionDescription è riservata per l'uso interno del sistema.

VOID
HidP_FreeCollectionDescription(
    IN PHIDP_DEVICE_DESC  DeviceDescription
    );

Intestazioni dichiarate in Hidpddi.h.

HIDP_GETCOLDESC_DBG

La struttura HIDP_GETCOLDESC_DBG è riservata per l'uso interno del sistema.

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

Intestazioni dichiarate in Hidpddi.h.

HIDP_KEYBOARD_DIRECTION

Il tipo di enumerazione HIDP_KEYBOARD_DIRECTION è riservato per l'uso interno del sistema.

typedef enum _HIDP_KEYBOARD_DIRECTION {
 HidP_Keyboard_Break,
 HidP_Keyboard_Make
} HIDP_KEYBOARD_DIRECTION;

Intestazioni dichiarate in Hidpi.h.

HIDP_KEYBOARD_MODIFIER_STATE

La struttura HIDP_KEYBOARD_MODIFIER_STATE è riservata per l'uso interno del sistema.

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;

Intestazioni dichiarate in Hidpi.h.

HIDP_REPORT_IDS

La struttura HIDP_REPORT_IDS è riservata per l'uso interno del sistema.

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

Intestazioni dichiarate in Hidpddi.h.

HidP_SysPowerCaps

La routine HidP_SysPowerCaps è riservata per l'uso interno del sistema.

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

Intestazioni dichiarate in Hidpddi.h.

HidP_SysPowerEvent

La routine HidP_SysPowerEvent è riservata per l'uso interno del sistema.

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

Intestazioni dichiarate in Hidpddi.h.

HidP_TranslateUsageAndPagesToI8042ScanCodes

La routine HidP_TranslateUsageAndPagesToI8042ScanCodes è riservata per l'uso interno del sistema.

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

Intestazioni dichiarate in Hidpi.h.

PHID_STATUS_CHANGE

La routine PHID_STATUS_CHANGE è riservata all'uso interno del sistema.

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

Intestazioni dichiarate in Hidclass.h.

PHIDP_INSERT_SCANCODES

La routine PHIDP_INSERT_SCANCODES è riservata per l'uso interno del sistema.

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

Intestazioni dichiarate in Hidpi.h.

PHIDP_REPORT_DESCRIPTOR

Il tipo di dati PHIDP_REPORT_DESCRIPTOR è riservato per l'uso interno del sistema.

typedef PUCHAR  PHIDP_REPORT_DESCRIPTOR;

Intestazioni dichiarate in Hidpi.h.

Funzioni di callback

Titolo Descrizione
EVT_VHF_ASYNC_OPERATION Il driver di origine HID implementa questo callback di eventi se vuole supportare una delle quattro operazioni asincrone per ottenere e impostare report HID.
EVT_VHF_CLEANUP Il driver di origine HID implementa questo callback di eventi per liberare risorse che potrebbero essere il driver allocato al dispositivo HID virtuale.
EVT_VHF_READY_FOR_NEXT_READ_REPORT Il driver di origine HID implementa questa funzione di callback degli eventi per usare lo schema di buffering per i report di input HID e vuole ricevere una notifica quando il report successivo può essere inviato a VHF.
PHIDP_GETCAPS La routine HidP_GetCaps restituisce la struttura di HIDP_CAPS di una raccolta di primo livello.
PI8042_ISR_WRITE_PORT La routine di callback tipizzata PI8042_ISR_WRITE_PORT scrive i dati in una porta i8042. I8042prt fornisce questo callback.
PI8042_KEYBOARD_INITIALIZATION_ROUTINE Una routine di callback tipizzata PI8042_KEYBOARD_INITIALIZATION_ROUTINE integra l'inizializzazione predefinita di un dispositivo da tastiera di I8042prt.
PI8042_KEYBOARD_ISR Una routine di callback tipizzata PI8042_KEYBOARD_ISR consente di personalizzare l'operazione dell'ISR della tastiera I8042prt.
PI8042_MOUSE_ISR Una routine di callback tipizzata PI8042_MOUSE_ISR consente di personalizzare l'operazione dell'ISR del mouse I8042prt.
PI8042_QUEUE_PACKET La routine di callback tipizzata PI8042_QUEUE_PACKET accoda un pacchetto di dati di input per l'elaborazione da parte del DPC ISR di una tastiera o di un dispositivo mouse. I8042prt fornisce questo callback.
PI8042_SYNCH_READ_PORT La routine di callback tipizzata PI8042_SYNCH_READ_PORT esegue una lettura sincronizzata da una porta i8042. I8042prt fornisce questo callback.
PI8042_SYNCH_WRITE_PORT La routine di callback tipizzata PI8042_SYNCH_READ_PORT esegue una scrittura sincronizzata su una porta i8042. I8042prt fornisce questa routine.
PSERVICE_CALLBACK_ROUTINE Un driver di funzione chiama il callback del servizio di classe nella routine di completamento dell'invio ISR. Il callback del servizio di classe trasferisce i dati di input dal buffer dei dati di input di un dispositivo alla coda dei dati della classe.

Codici di controllo di I/O

Titolo Descrizione
IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS IOCTL La richiesta di IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS ottiene le dimensioni della coda del report di input per una raccolta di livello superiore.
IOCTL_GET_PHYSICAL_DESCRIPTOR IOCTL La richiesta di IOCTL_GET_PHYSICAL_DESCRIPTOR ottiene il descrittore fisico di una raccolta di primo livello. Per un minidriver, questo descrittore è il descrittore del dispositivo HIDClass.
IOCTL_HID_ACTIVATE_DEVICE IOCTL La richiesta di IOCTL_HID_ACTIVATE_DEVICE attiva un dispositivo HIDClass, che lo rende pronto per le operazioni di I/O.
IOCTL_HID_DEACTIVATE_DEVICE IOCTL La richiesta di IOCTL_HID_DEACTIVATE_DEVICE disattiva un dispositivo HIDClass, che lo causa l'arresto delle operazioni e l'interruzione di tutte le richieste di I/O in sospeso.
IOCTL_HID_DEVICERESET_NOTIFICATION IOCTL La richiesta di IOCTL_HID_DEVICERESET_NOTIFICATION viene inviata dal driver client HID al driver di classe HID per attendere un evento di reimpostazione avviato dal dispositivo.
IOCTL_HID_DISABLE_SECURE_READ IOCTL La richiesta di IOCTL_HID_DISABLE_SECURE_READ annulla una richiesta di IOCTL_HID_ENABLE_SECURE_READ per una raccolta HID.
IOCTL_HID_ENABLE_SECURE_READ IOCTL La richiesta di IOCTL_HID_ENABLE_SECURE_READ consente una lettura sicura per i file aperti di una raccolta HID.
IOCTL_HID_ENABLE_WAKE_ON_SX IOCTL La richiesta di IOCTL_HID_ENABLE_WAKE_ON_SX viene usata per indicare il requisito per consentire a un dispositivo di riattivare la sospensione del sistema.
IOCTL_HID_FLUSH_QUEUE IOCTL La richiesta di IOCTL_HID_FLUSH_QUEUE annulla la coda di tutti i report di input non verificati da una coda di report di input di una raccolta di livello superiore.
IOCTL_HID_GET_COLLECTION_DESCRIPTOR IOCTL La richiesta di IOCTL_HID_GET_COLLECTION_DESCRIPTOR ottiene i dati pronti di una raccolta di livello superiore, che il driver di classe HID estratto dal descrittore di report del dispositivo fisico durante l'inizializzazione del dispositivo.
IOCTL_HID_GET_COLLECTION_INFORMATION IOCTL La richiesta di IOCTL_HID_GET_COLLECTION_INFORMATION ottiene la struttura di HID_COLLECTION_INFORMATION di una raccolta di livello superiore.
IOCTL_HID_GET_DEVICE_ATTRIBUTES IOCTL La richiesta di IOCTL_HID_GET_DEVICE_ATTRIBUTES ottiene gli attributi di un dispositivo HIDClass in una struttura HID_DEVICE_ATTRIBUTES.
IOCTL_HID_GET_DEVICE_DESCRIPTOR IOCTL La richiesta di IOCTL_HID_GET_DEVICE_DESCRIPTOR ottiene il descrittore HIDClass di un dispositivo HID.
IOCTL_HID_GET_DRIVER_CONFIG IOCTL La richiesta di IOCTL_HID_GET_DRIVER_CONFIG recupera la configurazione del driver.
IOCTL_HID_GET_FEATURE IOCTL La richiesta di IOCTL_HID_GET_FEATURE restituisce un report delle funzionalità associato a una raccolta di primo livello.
IOCTL_HID_GET_HARDWARE_ID IOCTL La richiesta di IOCTL_HID_GET_HARDWARE_ID ottiene l'ID hardware Plug and Play di una raccolta di livello superiore.
IOCTL_HID_GET_INDEXED_STRING IOCTL La richiesta di IOCTL_HID_GET_INDEXED_STRING ottiene una stringa incorporata specificata da una raccolta di livello superiore.
IOCTL_HID_GET_INPUT_REPORT IOCTL La richiesta di IOCTL_HID_GET_INPUT_REPORT ottiene un report di input da una raccolta di primo livello.
IOCTL_HID_GET_MANUFACTURER_STRING IOCTL La richiesta di IOCTL_HID_GET_MANUFACTURER_STRING ottiene una stringa incorporata della raccolta di primo livello che identifica il produttore del dispositivo.
IOCTL_HID_GET_MS_GENRE_DESCRIPTOR IOCTL La richiesta di IOCTL_HID_GET_MS_GENRE_DESCRIPTOR viene usata per recuperare il descrittore di genere per il dispositivo.
IOCTL_HID_GET_POLL_FREQUENCY_MSEC IOCTL La richiesta di IOCTL_HID_GET_POLL_FREQUENCY_MSEC ottiene la frequenza di polling corrente, in millisecondi, di una raccolta di livello superiore.
IOCTL_HID_GET_PRODUCT_STRING IOCTL La richiesta di IOCTL_HID_GET_PRODUCT_STRING ottiene una stringa incorporata della raccolta di primo livello che identifica il prodotto del produttore. La stringa recuperata è una stringa di caratteri wide con terminazione NULL in un formato leggibile.
IOCTL_HID_GET_REPORT_DESCRIPTOR IOCTL La richiesta di IOCTL_HID_GET_REPORT_DESCRIPTOR ottiene il descrittore del report per un dispositivo HIDClass.
IOCTL_HID_GET_SERIALNUMBER_STRING IOCTL La richiesta di IOCTL_HID_GET_SERIALNUMBER_STRING ottiene una stringa incorporata della raccolta di primo livello che identifica il numero di serie del dispositivo.
IOCTL_HID_GET_STRING IOCTL La richiesta di IOCTL_HID_GET_STRING ottiene un ID produttore, un ID prodotto o un numero di serie per una raccolta di livello superiore. La stringa recuperata è una stringa di caratteri wide con terminazione NULL in un formato leggibile.
IOCTL_HID_READ_REPORT IOCTL La richiesta di IOCTL_HID_READ_REPORT trasferisce un report di input da un dispositivo HIDClass nel buffer del driver di classe HID.
IOCTL_HID_SEND_IDLE_NOTIFICATION_REQUEST IOCTL Il codice di controllo IOCTL_HID_SEND_IDLE_NOTIFICATION_REQUEST è IOCTL della richiesta di notifica inattiva che HIDClass invia ai mini driver HID, ad esempio HIDUSB, per informare il driver del bus che il dispositivo è ora inattivo.
IOCTL_HID_SET_DRIVER_CONFIG IOCTL La richiesta di IOCTL_HID_SET_DRIVER_CONFIG imposta la configurazione del driver.
IOCTL_HID_SET_FEATURE IOCTL La richiesta di IOCTL_HID_SET_FEATURE invia un report di funzionalità a una raccolta di livello superiore.
IOCTL_HID_SET_OUTPUT_REPORT IOCTL La richiesta di IOCTL_HID_SET_OUTPUT_REPORT invia un report di output a una raccolta di livello superiore.
IOCTL_HID_SET_POLL_FREQUENCY_MSEC IOCTL La richiesta di IOCTL_HID_SET_POLL_FREQUENCY_MSEC imposta la frequenza di polling, in millisecondi, per una raccolta di livello superiore.
IOCTL_HID_SET_S0_IDLE_TIMEOUT IOCTL La richiesta di IOCTL_HID_SET_S0_IDLE_TIMEOUT viene usata da un client per informare il driver della classe HID sul valore di timeout di inattività preferito del client.
IOCTL_HID_WRITE_REPORT IOCTL La richiesta IOCTL_HID_WRITE_REPORT invia un report HID a un dispositivo HIDClass.
IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER IOCTL La richiesta di IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER non è supportata.
IOCTL_INTERNAL_I8042_HOOK_KEYBOARD IOCTL La richiesta di IOCTL_INTERNAL_I8042_HOOK_KEYBOARD esegue le operazioni seguenti
IOCTL_INTERNAL_I8042_HOOK_MOUSE IOCTL La richiesta di IOCTL_INTERNAL_I8042_HOOK_MOUSE aggiunge una routine di callback ISR al mouse ISR I8042prt.
IOCTL_INTERNAL_I8042_KEYBOARD_START_INFORMATION IOCTL La richiesta di IOCTL_INTERNAL_I8042_KEYBOARD_START_INFORMATION passa un puntatore a un oggetto di interruzione della tastiera.
IOCTL_INTERNAL_I8042_KEYBOARD_WRITE_BUFFER IOCTL La richiesta di IOCTL_INTERNAL_I8042_KEYBOARD_WRITE_BUFFER scrive i dati nel controller di porta i8042 per controllare l'operazione di un dispositivo da tastiera.
IOCTL_INTERNAL_I8042_MOUSE_START_INFORMATION IOCTL La richiesta di IOCTL_INTERNAL_I8042_MOUSE_START_INFORMATION passa un puntatore a un oggetto di interruzione del mouse.
IOCTL_INTERNAL_I8042_MOUSE_WRITE_BUFFER IOCTL La richiesta di IOCTL_INTERNAL_I8042_MOUSE_WRITE_BUFFER scrive i dati nel controller di porta i8042 per controllare l'operazione di un dispositivo del mouse.
IOCTL_INTERNAL_KEYBOARD_CONNECT IOCTL La richiesta di IOCTL_INTERNAL_KEYBOARD_CONNECT connette il servizio Kbdclass al dispositivo da tastiera.
IOCTL_INTERNAL_KEYBOARD_DISCONNECT IOCTL La richiesta di IOCTL_INTERNAL_KEYBOARD_DISCONNECT viene completata con lo stato di STATUS_NOT_IMPLEMENTED. Si noti che una tastiera Plug and Play può essere aggiunta o rimossa dal gestore Plug and Play.
IOCTL_INTERNAL_MOUSE_CONNECT IOCTL La richiesta IOCTL_INTERNAL_MOUSE_CONNECT connette il servizio Mouclass a un dispositivo mouse.
IOCTL_INTERNAL_MOUSE_DISCONNECT IOCTL La richiesta di IOCTL_INTERNAL_MOUSE_DISCONNECT viene completata da Moufiltr con uno stato di errore di STATUS_NOT_IMPLEMENTED.
IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS IOCTL La richiesta di IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS imposta il numero di buffer per la coda del report di input di una raccolta di livello superiore.
IOCTL_UMDF_GET_PHYSICAL_DESCRIPTOR IOCTL Il codice di controllo IOCTL_UMDF_GET_PHYSICAL_DESCRIPTOR ottiene il descrittore fisico di un dispositivo HIDClass.
IOCTL_UMDF_HID_GET_FEATURE IOCTL Il codice di controllo IOCTL_UMDF_HID_GET_FEATURE ottiene un report delle funzionalità da un dispositivo HIDClass.
IOCTL_UMDF_HID_GET_INPUT_REPORT IOCTL Il codice di controllo IOCTL_UMDF_HID_GET_INPUT_REPORT restituisce un report di input da un dispositivo HIDClass.
IOCTL_UMDF_HID_SET_FEATURE IOCTL Il codice di controllo IOCTL_UMDF_HID_GET_FEATURE invia un report delle funzionalità a un dispositivo HIDClass.
IOCTL_UMDF_HID_SET_OUTPUT_REPORT IOCTL Il codice di controllo IOCTL_UMDF_HID_SET_OUTPUT_REPORT invia un report di output a una raccolta di primo livello.

IOCTL

 
IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS

La richiesta di IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS ottiene le dimensioni della coda del report di input per una raccolta di livello superiore.
IOCTL_GET_PHYSICAL_DESCRIPTOR

La richiesta di IOCTL_GET_PHYSICAL_DESCRIPTOR ottiene il descrittore fisico di una raccolta di livello superiore. Per un minidriver, questo descrittore è il descrittore del dispositivo HIDClass.
IOCTL_HID_ACTIVATE_DEVICE

La richiesta IOCTL_HID_ACTIVATE_DEVICE attiva un dispositivo HIDClass, che lo rende pronto per le operazioni di I/O.
IOCTL_HID_DEACTIVATE_DEVICE

La richiesta di IOCTL_HID_DEACTIVATE_DEVICE disattiva un dispositivo HIDClass, che lo causa l'arresto delle operazioni e termina tutte le richieste di I/O in sospeso.
IOCTL_HID_DEVICERESET_NOTIFICATION

La richiesta di IOCTL_HID_DEVICERESET_NOTIFICATION viene inviata dal driver client HID al driver di classe HID per attendere un evento di reimpostazione avviato dal dispositivo.
IOCTL_HID_DISABLE_SECURE_READ

La richiesta di IOCTL_HID_DISABLE_SECURE_READ annulla una richiesta di IOCTL_HID_ENABLE_SECURE_READ per una raccolta HID.
IOCTL_HID_ENABLE_SECURE_READ

La richiesta di IOCTL_HID_ENABLE_SECURE_READ consente una lettura sicura per i file aperti di una raccolta HID.
IOCTL_HID_ENABLE_WAKE_ON_SX

La richiesta di IOCTL_HID_ENABLE_WAKE_ON_SX viene usata per indicare il requisito per un dispositivo di essere in grado di riattivare dalla sospensione del sistema.
IOCTL_HID_FLUSH_QUEUE

La IOCTL_HID_FLUSH_QUEUE richiesta dequeue tutti i report di input non riparati da una coda di report di input di primo livello.
IOCTL_HID_GET_COLLECTION_DESCRIPTOR

La richiesta di IOCTL_HID_GET_COLLECTION_DESCRIPTOR ottiene i dati preparati di una raccolta di primo livello, che il driver di classe HID estratto dal descrittore del report del dispositivo fisico durante l'inizializzazione del dispositivo.
IOCTL_HID_GET_COLLECTION_INFORMATION

La richiesta di IOCTL_HID_GET_COLLECTION_INFORMATION ottiene una struttura di HID_COLLECTION_INFORMATION HID_COLLECTION_INFORMATION di primo livello.
IOCTL_HID_GET_DEVICE_ATTRIBUTES

La richiesta di IOCTL_HID_GET_DEVICE_ATTRIBUTES ottiene gli attributi di un dispositivo HIDClass in una struttura HID_DEVICE_ATTRIBUTES.
IOCTL_HID_GET_DEVICE_DESCRIPTOR

La richiesta di IOCTL_HID_GET_DEVICE_DESCRIPTOR ottiene un descrittore HIDClass del dispositivo HID.
IOCTL_HID_GET_DRIVER_CONFIG

La richiesta di IOCTL_HID_GET_DRIVER_CONFIG recupera la configurazione del driver.
IOCTL_HID_GET_FEATURE

La richiesta di IOCTL_HID_GET_FEATURE restituisce un report di funzionalità associato a una raccolta di livello superiore.
IOCTL_HID_GET_HARDWARE_ID

La richiesta di IOCTL_HID_GET_HARDWARE_ID ottiene l'ID hardware Plug and Play di una raccolta di livello superiore.
IOCTL_HID_GET_INDEXED_STRING

La richiesta di IOCTL_HID_GET_INDEXED_STRING ottiene una stringa incorporata specificata da una raccolta di livello superiore.
IOCTL_HID_GET_INPUT_REPORT

La richiesta di IOCTL_HID_GET_INPUT_REPORT ottiene un report di input da una raccolta di livello superiore.
IOCTL_HID_GET_MANUFACTURER_STRING

La richiesta di IOCTL_HID_GET_MANUFACTURER_STRING ottiene una stringa incorporata della raccolta di primo livello che identifica il produttore del dispositivo.
IOCTL_HID_GET_MS_GENRE_DESCRIPTOR

La richiesta di IOCTL_HID_GET_MS_GENRE_DESCRIPTOR viene usata per recuperare il descrittore di genere per il dispositivo.
IOCTL_HID_GET_POLL_FREQUENCY_MSEC

La richiesta di IOCTL_HID_GET_POLL_FREQUENCY_MSEC ottiene la frequenza di polling corrente, in millisecondi, di una raccolta di livello superiore.
IOCTL_HID_GET_PRODUCT_STRING

La richiesta di IOCTL_HID_GET_PRODUCT_STRING ottiene una stringa incorporata della raccolta di primo livello che identifica il prodotto del produttore. La stringa recuperata è una stringa di caratteri wide con terminazione NULL in un formato leggibile.
IOCTL_HID_GET_REPORT_DESCRIPTOR

La richiesta di IOCTL_HID_GET_REPORT_DESCRIPTOR ottiene il descrittore del report per un dispositivo HIDClass.
IOCTL_HID_GET_SERIALNUMBER_STRING

La richiesta di IOCTL_HID_GET_SERIALNUMBER_STRING ottiene una stringa incorporata della raccolta di primo livello che identifica il numero di serie del dispositivo.
IOCTL_HID_GET_STRING

La richiesta di IOCTL_HID_GET_STRING ottiene un ID produttore, un ID prodotto o un numero di serie per una raccolta di livello superiore. La stringa recuperata è una stringa di caratteri wide con terminazione NULL in un formato leggibile.
IOCTL_HID_READ_REPORT

La richiesta di IOCTL_HID_READ_REPORT trasferisce un report di input da un dispositivo HIDClass nel buffer del driver di classe HID.
IOCTL_HID_SEND_IDLE_NOTIFICATION_REQUEST

Il codice di controllo IOCTL_HID_SEND_IDLE_NOTIFICATION_REQUEST è IOCTL della richiesta di notifica inattiva che HIDClass invia ai mini driver HID, ad esempio HIDUSB, per informare il driver del bus che il dispositivo è ora inattivo.
IOCTL_HID_SET_DRIVER_CONFIG

La richiesta di IOCTL_HID_SET_DRIVER_CONFIG imposta la configurazione del driver.
IOCTL_HID_SET_FEATURE

La richiesta di IOCTL_HID_SET_FEATURE invia un report di funzionalità a una raccolta di livello superiore.
IOCTL_HID_SET_OUTPUT_REPORT

La richiesta di IOCTL_HID_SET_OUTPUT_REPORT invia un report di output a una raccolta di livello superiore.
IOCTL_HID_SET_POLL_FREQUENCY_MSEC

La richiesta di IOCTL_HID_SET_POLL_FREQUENCY_MSEC imposta la frequenza di polling, in millisecondi, per una raccolta di livello superiore.
IOCTL_HID_SET_S0_IDLE_TIMEOUT

La richiesta di IOCTL_HID_SET_S0_IDLE_TIMEOUT viene usata da un client per informare il driver della classe HID sul valore di timeout di inattività preferito del client.
IOCTL_HID_WRITE_REPORT

La richiesta IOCTL_HID_WRITE_REPORT invia un report HID a un dispositivo HIDClass.
IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER

La richiesta di IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER non è supportata.
IOCTL_INTERNAL_I8042_HOOK_KEYBOARD

La richiesta di IOCTL_INTERNAL_I8042_HOOK_KEYBOARD esegue la procedura seguente:Aggiunge una routine di callback inizializzazione alla routine di inizializzazione della tastiera I8042prtAggiunge una routine di callback ISR alla tastiera I8042prt ISRThe inizializzazione e i callback ISR sono facoltativi e vengono forniti da un driver di filtro di livello superiore per un dispositivo da tastiera PS/2. Dopo che I8042prt riceve una richiesta di IOCTL_INTERNAL_KEYBOARD_CONNECT, invia una richiesta sincrona IOCTL_INTERNAL_I8042_HOOK_KEYBOARD alla parte superiore dello stack di dispositivi da tastiera. Dopo che Kbfiltr riceve la richiesta della tastiera di hook, Kbfiltr filtra la richiesta nel modo seguente:Salva le informazioni di livello superiore passate a Kbfiltr, che include il contesto di un oggetto dispositivo di livello superiore, un puntatore a un callback di inizializzazione e un puntatore a un callback ISRReplaces le informazioni di livello superiore con i propriSaves il contesto di I8042prt e puntatori ai callback che il callback di Kbfiltr ISR può usare Per altre informazioni su questa richiesta e sui callback, vedere gli argomenti seguenti:I8042prt Callback RoutinesKbfiltr Callback Routines.
IOCTL_INTERNAL_I8042_HOOK_MOUSE

La richiesta di IOCTL_INTERNAL_I8042_HOOK_MOUSE aggiunge una routine di callback ISR al mouse ISR I8042prt.
IOCTL_INTERNAL_I8042_KEYBOARD_START_INFORMATION

La richiesta di IOCTL_INTERNAL_I8042_KEYBOARD_START_INFORMATION passa un puntatore a un oggetto di interruzione della tastiera.
IOCTL_INTERNAL_I8042_KEYBOARD_WRITE_BUFFER

La richiesta di IOCTL_INTERNAL_I8042_KEYBOARD_WRITE_BUFFER scrive i dati nel controller di porta i8042 per controllare l'operazione di un dispositivo da tastiera.
IOCTL_INTERNAL_I8042_MOUSE_START_INFORMATION

La richiesta di IOCTL_INTERNAL_I8042_MOUSE_START_INFORMATION passa un puntatore a un oggetto di interruzione del mouse.
IOCTL_INTERNAL_I8042_MOUSE_WRITE_BUFFER

La richiesta di IOCTL_INTERNAL_I8042_MOUSE_WRITE_BUFFER scrive i dati nel controller di porta i8042 per controllare l'operazione di un dispositivo del mouse.
IOCTL_INTERNAL_KEYBOARD_CONNECT

La richiesta di IOCTL_INTERNAL_KEYBOARD_CONNECT connette il servizio Kbdclass al dispositivo da tastiera.
IOCTL_INTERNAL_KEYBOARD_DISCONNECT

La richiesta di IOCTL_INTERNAL_KEYBOARD_DISCONNECT viene completata con lo stato di STATUS_NOT_IMPLEMENTED. Si noti che una tastiera Plug and Play può essere aggiunta o rimossa dal gestore Plug and Play.
IOCTL_INTERNAL_MOUSE_CONNECT

La richiesta IOCTL_INTERNAL_MOUSE_CONNECT connette il servizio Mouclass a un dispositivo mouse.
IOCTL_INTERNAL_MOUSE_DISCONNECT

La richiesta di IOCTL_INTERNAL_MOUSE_DISCONNECT viene completata da Moufiltr con uno stato di errore di STATUS_NOT_IMPLEMENTED.
IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS

La richiesta di IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS imposta il numero di buffer per la coda del report di input di una raccolta di livello superiore.
IOCTL_UMDF_GET_PHYSICAL_DESCRIPTOR

Il codice di controllo IOCTL_UMDF_GET_PHYSICAL_DESCRIPTOR ottiene il descrittore fisico di un dispositivo HIDClass.
IOCTL_UMDF_HID_GET_FEATURE

Il codice di controllo IOCTL_UMDF_HID_GET_FEATURE ottiene un report delle funzionalità da un dispositivo HIDClass.
IOCTL_UMDF_HID_GET_INPUT_REPORT

Il codice di controllo IOCTL_UMDF_HID_GET_INPUT_REPORT restituisce un report di input da un dispositivo HIDClass.
IOCTL_UMDF_HID_SET_FEATURE

Il codice di controllo IOCTL_UMDF_HID_GET_FEATURE invia un report delle funzionalità a un dispositivo HIDClass.
IOCTL_UMDF_HID_SET_OUTPUT_REPORT

Il codice di controllo IOCTL_UMDF_HID_SET_OUTPUT_REPORT invia un report di output a una raccolta di primo livello.

Enumerazioni

 
HIDP_REPORT_TYPE

Il tipo di enumerazione HIDP_REPORT_TYPE viene usato per specificare un tipo di report HID.
KEYBOARD_SCAN_STATE

Il tipo di enumerazione KEYBOARD_SCAN_STATE indica lo stato di analisi di un byte di input da una tastiera.
MOUSE_STATE

Il tipo di enumerazione MOUSE_STATE identifica lo stato corrente dell'input da un mouse.

Funzioni

 
EVT_HIDSPICX_NOTIFY_POWERDOWN

Altre informazioni su: EVT_HIDSPICX_NOTIFY_POWERDOWN
EVT_HIDSPICX_RESETDEVICE

Altre informazioni su: EVT_HIDSPICX_RESETDEVICE
EVT_VHF_ASYNC_OPERATION

Il driver di origine HID implementa questo callback dell'evento se vuole supportare una delle quattro operazioni asincrone per ottenere e impostare i report HID.
EVT_VHF_CLEANUP

Il driver di origine HID implementa questo callback evento per liberare risorse che potrebbero essere allocati al dispositivo HID virtuale.
EVT_VHF_READY_FOR_NEXT_READ_REPORT

Il driver di origine HID implementa questa funzione di chiamata all'evento per usare lo schema di buffer per i report di input HID e vuole ricevere una notifica quando il report successivo può essere inviato a VHF.
HidD_FlushQueue

La routine HidD_FlushQueue elimina tutti i report di input in sospeso in una coda di input di primo livello.
HidD_FreePreparsedData

La routine HidD_FreePreparsedData rilascia le risorse assegnate dal driver di classe HID per contenere i dati preparati di una raccolta di livello superiore.
HidD_GetAttributes

La routine HidD_GetAttributes restituisce gli attributi di una raccolta di livello superiore specificata.
HidD_GetFeature

La routine HidD_GetFeature restituisce un report delle funzionalità da una raccolta di livello superiore specificata.
HidD_GetHidGuid

La routine HidD_GetHidGuid restituisce l'interfaccia del dispositivoGUID per i dispositivi HIDClass.
HidD_GetIndexedString

La routine HidD_GetIndexedString restituisce una stringa incorporata specificata da una raccolta di livello superiore.
HidD_GetInputReport

La routine HidD_GetInputReport restituisce report di input da una raccolta di livello superiore.
HidD_GetManufacturerString

La routine HidD_GetManufacturerString restituisce una stringa incorporata della raccolta di primo livello che identifica il produttore.
HidD_GetNumInputBuffers

La routine HidD_GetNumInputBuffers restituisce le dimensioni correnti, in numero di report, del buffer dell'anello usato dal driver della classe HID per accodare i report di input da una raccolta di livello superiore specificata.
HidD_GetPhysicalDescriptor

La routine HidD_GetPhysicalDescriptor restituisce la stringa incorporata di una raccolta di primo livello che identifica il dispositivo fisico della raccolta.
HidD_GetPreparsedData

La routine HidD_GetPreparsedData restituisce i dati preparati di una raccolta di primo livello.
HidD_GetProductString

La routine HidD_GetProductString restituisce la stringa incorporata di una raccolta di primo livello che identifica il prodotto del produttore.
HidD_GetSerialNumberString

La routine HidD_GetSerialNumberString restituisce la stringa incorporata di una raccolta di primo livello che identifica il numero di serie del dispositivo fisico della raccolta.
HidD_SetFeature

La routine HidD_SetFeature invia un report delle funzionalità a una raccolta di livello superiore.
HidD_SetNumInputBuffers

La routine HidD_SetNumInputBuffers imposta il numero massimo di report di input che il buffer dell'anello del driver della classe HID può contenere per una raccolta di livello superiore specificata.
HidD_SetOutputReport

La routine HidD_SetOutputReport invia un report di output a una raccolta di livello superiore.
HidP_GetButtonArray

HidP_GetButtonArray restituisce una matrice di strutture HIDP_BUTTON_ARRAY_DATA per il report specificato.
HidP_GetButtonCaps

La routine HidP_GetButtonCaps restituisce una matrice di funzionalità del pulsante che descrive tutti i pulsanti di controllo HID in una raccolta di livello superiore per un tipo specificato di report HID.
HidP_GetButtons

La macro HidP_GetButtons è un alias mnemonic per la funzione HHidP_GetUsages.
HidP_GetButtonsEx

La macro HidP_GetButtonsEx è un alias mnemonic per la funzione HidP_GetUsagesEx.
HidP_GetCaps

La routine HidP_GetCaps restituisce una struttura di HIDP_CAPS della raccolta di primo livello. Questa routine è in hidpi.h.
HidP_GetCollectionDescription

Riempie un blocco di descrizione del dispositivo con la descrizione della raccolta e le informazioni relative all'ID report corrispondente per il descrittore di report specificato.
HidP_GetData

La routine HidP_GetData restituisce, per un report specificato, una matrice di strutture HIDP_DATA che identificano gli indici di dati di tutti i pulsanti di controllo HID attualmente impostati su ON (1) e gli indici di dati e i dati associati a tutti i valori di controllo HID.
HidP_GetExtendedAttributes

La routine HidP_GetExtendedAttributes restituisce gli attributi estesi di un controllo HID.
HidP_GetLinkCollectionNodes

La routine HidP_GetLinkCollectionNodes restituisce una matrice di raccolta di collegamenti di primo livello.
HidP_GetScaledUsageValue

La routine HidP_GetScaledUsageValue restituisce il risultato firmato e ridimensionato di un valore di controllo HID estratto da un report HID.
HidP_GetSpecificButtonCaps

La routine HidP_GetSpecificButtonCaps restituisce una matrice di funzionalità del pulsante che descrive tutti i pulsanti di controllo HID in una raccolta di livello superiore che soddisfa i criteri di selezione specificati.
HidP_GetSpecificValueCaps

La routine HidP_GetSpecificValueCaps restituisce una matrice di funzionalità del valore che descrive tutti i valori di controllo HID che soddisfano i criteri di selezione specificati.
HidP_GetUsages

La routine HidP_GetUsages restituisce un elenco di tutti gli usi del pulsante di controllo HID presenti in una pagina di utilizzo specificata e vengono impostati su ON in un report HID.
HidP_GetUsagesEx

La routine HidP_GetUsagesEx restituisce un elenco di tutti gli usi del pulsante di controllo HID impostati su ON in un report HID.
HidP_GetUsageValue

La routine HidP_GetUsageValue estrae i dati associati a un valore di controllo HID corrispondente ai criteri di selezione in un report HID.
HidP_GetUsageValueArray

La routine HidP_GetUsageValueArray estrae i dati associati a una matrice di valori di utilizzo del controllo HID da un report HID.
HidP_GetValueCaps

La routine HidP_GetValueCaps restituisce una matrice di funzionalità del valore che descrive tutti i valori di controllo HID in una raccolta di livello superiore per un tipo specificato di report HID.
HidP_GetVersion

La funzione HidP_GetVersion è un'implementazione di sola intestazione che restituisce la versione dell'API HID.
HidP_InitializeReportForID

La routine HidP_InitializeReportForID inizializza un report HID.
HidP_MaxDataListLength

La routine HidP_MaxDataListLength restituisce il numero massimo di strutture HIDP_DATA che HidP_GetData possono restituire per un tipo specificato di report HID e una raccolta di livello superiore specificata.
HidP_MaxUsageListLength

La routine HidP_MaxUsageListLength restituisce il numero massimo di utilizzi HID che HidP_GetUsages possono restituire per un tipo specificato di report HID e una raccolta di livello superiore specificata.
HidP_SetButtonArray

La funzione HidP_SetButtonArray imposta lo stato dei pulsanti tramite una matrice di strutture HIDP_BUTTON_ARRAY_DATA.
HidP_SetButtons

La macro HidP_SetButtons è un alias mnemonic per la funzione HidP_SetUsages.
HidP_SetData

La routine HidP_SetData imposta un set specificato di pulsanti di controllo HID e utilizzo dei valori in un report HID.
HidP_SetScaledUsageValue

La routine HidP_SetScaledUsageValue converte un numero fisico firmato e ridimensionato in un valore logico di utilizzo HID e imposta il valore di utilizzo in un report HID specificato.
HidP_SetUsages

La routine HidP_SetUsages imposta i pulsanti di controllo HID specificati ON (1) in un report HID.
HidP_SetUsageValue

La routine HidP_SetUsageValue imposta un valore di controllo HID in un report HID specificato.
HidP_SetUsageValueArray

La routine HidP_SetUsageValueArray imposta una matrice di valori di utilizzo del controllo HID in un report HID specificato.
HidP_TranslateUsagesToI8042ScanCodes

La routine HidP_TranslateUsagesToI8042ScanCodes esegue il mapping di un elenco di utilizzi HID nella pagina di utilizzo HID_USAGE_PAGE_KEYBOARD ai rispettivi codici di analisi PS/2 (Set di codice di analisi 1).
HidP_UnsetButtons

La macro HidP_UnsetButtons è un alias mnemonic per la funzione HidP_UnsetUsages.
HidP_UnsetUsages

Il HidP_UnsetUsages set di routine set di pulsanti di controllo HID specificati usa OFF (zero) in un report HID.
HidP_UsageAndPageListDifference

La funzione HidP_UsageAndPageListDifference restituisce la differenza tra due elenchi di utilizzi.
HidP_UsageListDifference

La routine HidP_UsageListDifference restituisce le differenze tra due matrici di utilizzo HID.
HidRegisterMinidriver

La routine HidRegisterMinidriver viene chiamata dai minidriver HID, durante l'inizializzazione, per registrare con il driver di classe HID.
HIDSPICX_DEVICE_CONFIG_INIT

Altre informazioni su: HIDSPICX_DEVICE_CONFIG_INIT
HidSpiCxDeviceConfigure

Altre informazioni su: HidSpiCxDeviceConfigure
HidSpiCxDeviceInitConfig

Altre informazioni su: HidSpiCxDeviceInitConfig
HidSpiCxNotifyDeviceReset

Altre informazioni su: HidSpiCxNotifyDeviceReset
PHIDP_GETCAPS

La routine HidP_GetCaps restituisce una struttura di HIDP_CAPS della raccolta di primo livello. Questa routine è in hidclass.h.
PI8042_ISR_WRITE_PORT

La routine di callback tipizzata PI8042_ISR_WRITE_PORT scrive i dati in una porta i8042. I8042prt fornisce questo callback.
PI8042_KEYBOARD_INITIALIZATION_ROUTINE

Una routine di callback PI8042_KEYBOARD_INITIALIZATION_ROUTINE tipizzata integra l'inizializzazione predefinita di un dispositivo da tastiera di I8042prt.
PI8042_KEYBOARD_ISR

Una routine di callback PI8042_KEYBOARD_ISR tipizzata personalizza l'operazione dell'ISR della tastiera I8042prt.
PI8042_MOUSE_ISR

Una routine di callback PI8042_MOUSE_ISR tipizzata personalizza l'operazione dell'ISR del mouse I8042prt.
PI8042_QUEUE_PACKET

La routine di callback tipizzata PI8042_QUEUE_PACKET accoda un pacchetto di dati di input per l'elaborazione da parte dell'ISR DPC di una tastiera o di un dispositivo del mouse. I8042prt fornisce questo callback.
PI8042_SYNCH_READ_PORT

La routine di callback PI8042_SYNCH_READ_PORT tipizzata esegue una lettura sincronizzata da una porta i8042. I8042prt fornisce questo callback.
PI8042_SYNCH_WRITE_PORT

La routine di callback tipizzata PI8042_SYNCH_READ_PORT esegue una scrittura sincronizzata in una porta i8042. I8042prt fornisce questa routine.
PSERVICE_CALLBACK_ROUTINE

Un driver di funzione chiama il callback del servizio di classe nella routine di completamento del completamento dell'invio ISR. Il callback del servizio di classe trasferisce i dati di input dal buffer dei dati di input di un dispositivo alla coda dei dati della classe.
VHF_CONFIG_INIT

Usare la funzione VHF_CONFIG_INIT per inizializzare i membri necessari della struttura VHF_CONFIG allocata dal driver di origine HID.
VhfAsyncOperationComplete

Il driver di origine HID chiama questo metodo per impostare i risultati di un'operazione asincrona.
VhfCreate

Il driver di origine HID chiama questo metodo per creare un dispositivo HID virtuale.
VhfDelete

Il driver del dispositivo di origine HID chiama questo metodo per eliminare un dispositivo VHF.
VhfReadReportSubmit

Il driver di origine HID chiama questo metodo per inviare un report HID Read (Input) a Virtual HID Framework (VHF).
VhfStart

Il driver di origine HID chiama questo metodo per avviare il dispositivo HID virtuale.

Strutture

 
CONNECT_DATA

CONNECT_DATA specifica informazioni usate da Kbdclass e Mouclass per connettersi a una porta da tastiera o mouse.
HID_COLLECTION_INFORMATION

La struttura HID_COLLECTION_INFORMATION contiene informazioni generali su una raccolta di livello superiore.
HID_DESCRIPTOR

La struttura HID_DESCRIPTOR rappresenta un descrittore HID per un dispositivo HIDClass.
HID_DEVICE_ATTRIBUTES

La struttura HID_DEVICE_ATTRIBUTES contiene informazioni su un dispositivo HIDClass.
HID_DEVICE_EXTENSION

La struttura HID_DEVICE_EXTENSION viene usata da un minidriver HID come layout per l'estensione del dispositivo di un oggetto dispositivo HIDClass.
HID_MINIDRIVER_REGISTRATION

La struttura HID_MINIDRIVER_REGISTRATION contiene informazioni di registrazione che un minidriver HID passa ai driver client HID quando il minidriver registra con il driver di classe.
HID_XFER_PACKET

La struttura HID_XFER_PACKET in hidclass.he contiene informazioni su un report HID usato dal driver di classe HID con richieste di I/O per ottenere o impostare un report.
HID_XFER_PACKET

La struttura HID_XFER_PACKET in vhf.h contiene informazioni su un report HID usato dal driver di classe HID con richieste di I/O per ottenere o impostare un report.
HIDD_ATTRIBUTES

La struttura HIDD_ATTRIBUTES contiene informazioni sul fornitore su un dispositivo HIDClass.
HIDP_BUTTON_ARRAY_DATA

La struttura HIDP_BUTTON_ARRAY_DATA viene usata per ottenere o impostare i dati per un singolo pulsante in una matrice di pulsanti.
HIDP_BUTTON_CAPS

La struttura HIDP_BUTTON_CAPS contiene informazioni sulla funzionalità di utilizzo di un pulsante di controllo HID (o un set di pulsanti associati a un intervallo di utilizzo).
HIDP_CAPS

La struttura HIDP_CAPS contiene informazioni sulla funzionalità di una raccolta di livello superiore.
HIDP_COLLECTION_DESC

Contiene le informazioni di una raccolta di livello superiore. Questa struttura viene usata nella chiamata HidP_GetCollectionDescription.
HIDP_DATA

La struttura HIDP_DATA contiene informazioni sull'indice e il valore di un controllo HID in un report HID.
HIDP_DEVICE_DESC

Contiene il blocco di descrizione del dispositivo compilato nelle descrizioni della raccolta come elenchi collegati. Questa struttura viene usata da HidP_GetCollectionDescription.
HIDP_EXTENDED_ATTRIBUTES

La struttura HIDP_EXTENDED_ATTRIBUTES contiene informazioni sugli elementi globali specificati per un controllo HID non riconosciuto dal parser HID.
HIDP_GETCOLDESC_DBG

Contiene il codice di errore che indica l'errore nell'analisi del descrittore del report. Questa struttura viene usata nella chiamata HidP_GetCollectionDescription.
HIDP_LINK_COLLECTION_NODE

La struttura HIDP_LINK_COLLECTION_NODE contiene informazioni su una raccolta di collegamenti in una matrice di raccolta collegamenti di primo livello.
HIDP_REPORT_IDS

Contiene informazioni sull'ID report per una raccolta di livello superiore.
HIDP_UNKNOWN_TOKEN

La struttura HIDP_UNKNOWN_TOKEN contiene informazioni su un elemento globale non riconosciuto dal parser HID.
HIDP_VALUE_CAPS

La struttura HIDP_VALUE_CAPS contiene informazioni che descrivono la funzionalità di un set di valori di controllo HID (un singolo utilizzo o un intervallo di utilizzo).
HIDSPICX_DEVICE_CONFIG

Altre informazioni su: HIDSPICX_DEVICE_CONFIG
HIDSPICX_DRIVER_GLOBALS

Altre informazioni su: HIDSPICX_DRIVER_GLOBALS
HIDSPICX_REPORT

Altre informazioni su: HIDSPICX_REPORT
INTERNAL_I8042_HOOK_KEYBOARD

INTERNAL_I8042_HOOK_KEYBOARD viene usato da I8042prt per connettere routine di callback facoltative che integrano l'inizializzazione della tastiera e l'ISR della tastiera. I callback possono essere forniti da un driver di filtro di livello superiore facoltativo fornito dal fornitore.
INTERNAL_I8042_HOOK_MOUSE

INTERNAL_I8042_HOOK_MOUSE viene usato da I8042prt per connettere una routine di callback facoltativa che integra l'operazione del mouse ISR. Il callback può essere fornito da un driver di filtro di livello superiore facoltativo fornito dal fornitore.
INTERNAL_I8042_START_INFORMATION

INTERNAL_I8042_START_INFORMATION specifica l'oggetto interrupt che un driver del dispositivo di filtro di livello superiore fornito dal fornitore facoltativo può usare per sincronizzarne l'operazione con un ISR I8042prt.
OUTPUT_PACKET

OUTPUT_PACKET contiene informazioni sui dati scritti in un dispositivo da tastiera o mouse da I8042prt.
USAGE_AND_PAGE

La struttura USAGE_AND_PAGE specifica la pagina di utilizzo e l'ID utilizzo di un controllo HID.
VHF_CONFIG

Contiene informazioni di configurazione iniziali fornite dal driver di origine HID quando chiama VhfCreate per creare un dispositivo HID virtuale.