HID (Dispositivos de Interface Humana)

Visão geral da tecnologia HID (Dispositivos de Interface Humana).

Para desenvolver dispositivos de interface humana (HID), você precisa destes cabeçalhos:

Para obter o guia de programação, consulte DISPOSITIVOs de interface humana (HID).

Para APIs de programação HID do Win32, consulte Referência de dispositivos de interface humana Win32.

Esta seção contém as interfaces de programação relacionadas a Dispositivos de Interface Humana (ou HID). Normalmente, esses são dispositivos que os humanos usam para controlar diretamente a operação de sistemas de computador.

Rotinas de suporte hidclass

Há rotinas fornecidas pelo sistema que aplicativos de modo de usuário, drivers de modo kernel e minidrivers HID usam para operar dispositivos na classe de configuração de dispositivo HIDClass.

Como regra geral, os aplicativos de modo de usuário podem usar as rotinas HidD_Xxx e HidP_Xxx. No entanto, os drivers no modo kernel só podem chamar rotinas de HidP_Xxx.

Os minidrivers HID usam apenas a rotina HidRegisterMinidriver .

Para Windows 8.1 a Microsoft introduziu a nova API Windows.Devices.HumanInterfaceDevice, que permite que você escreva aplicativos do Windows que acessam dispositivos HID.

O cabeçalho define IOCTLs aos quais um minidriver HID deve dar suporte. Somente o driver de classe HID envia essas IOCTLs para um minidriver HID. Aplicativos de modo de usuário e outros drivers de modo kernel só podem se comunicar com coleções HID usando as rotinas de suporte HIDClass e IOCTLs do driver de classe HID.

HID Minidriver IOCTLs

Um minidriver HID deve manipular um conjunto de IOCTLs. Somente o driver de classe HID envia essas IOCTLs para um minidriver HID. Aplicativos de modo de usuário e outros drivers de modo kernel só podem se comunicar com coleções HID usando as rotinas de suporte HIDClass e IOCTLs do driver de classe HID.

Tópico Descrição
IOCTL_HID_ACTIVATE_DEVICE A solicitação IOCTL_HID_ACTIVATE_DEVICE ativa um dispositivo HIDClass, o que o torna pronto para operações de E/S.
IOCTL_HID_DEACTIVATE_DEVICE A solicitação IOCTL_HID_DEACTIVATE_DEVICE desativa um dispositivo HIDClass, o que faz com que ele interrompa as operações e encerre todas as solicitações de E/S pendentes.
IOCTL_HID_GET_DEVICE_ATTRIBUTES A solicitação IOCTL_HID_GET_DEVICE_ATTRIBUTES obtém os atributos de um dispositivo HIDClass em uma estrutura HID_DEVICE_ATTRIBUTES.
IOCTL_HID_GET_DEVICE_DESCRIPTOR A solicitação IOCTL_HID_GET_DEVICE_DESCRIPTOR obtém o descritor HID de um dispositivo HIDClass.
IOCTL_HID_GET_REPORT_DESCRIPTOR A solicitação IOCTL_HID_GET_REPORT_DESCRIPTOR obtém o descritor de relatório para um dispositivo HIDClass.
IOCTL_HID_GET_STRING A solicitação IOCTL_HID_GET_STRING obtém uma ID do fabricante, uma ID do produto ou um número de série para uma coleção de nível superior. A cadeia de caracteres recuperada é uma cadeia de caracteres largos terminada em NULL em um formato legível por humanos.
IOCTL_HID_READ_REPORT A solicitação IOCTL_HID_READ_REPORT transfere um relatório de entrada de um dispositivo HIDClass para o buffer do driver de classe HID.
IOCTL_HID_WRITE_REPORT A solicitação IOCTL_HID_WRITE_REPORT envia um relatório HID para um dispositivo HIDClass.
IOCTL_UMDF_GET_PHYSICAL_DESCRIPTOR O código de controle IOCTL_UMDF_GET_PHYSICAL_DESCRIPTOR obtém o descritor físico de um dispositivo HIDClass.
IOCTL_UMDF_HID_GET_FEATURE O código de controle IOCTL_UMDF_HID_GET_FEATURE obtém um relatório de recurso de um dispositivo HIDClass.
IOCTL_UMDF_HID_GET_INPUT_REPORT O código de controle IOCTL_UMDF_HID_GET_INPUT_REPORT retorna um relatório de entrada de um dispositivo HIDClass.
IOCTL_UMDF_HID_SET_FEATURE O código de controle IOCTL_UMDF_HID_GET_FEATURE envia um relatório de recurso para um dispositivo HIDClass.
IOCTL_UMDF_HID_SET_OUTPUT_REPORT O código de controle IOCTL_UMDF_HID_SET_OUTPUT_REPORT envia um relatório de saída para uma coleção de nível superior.

IOCTLs do Driver de Classe HID

O driver de classe HID manipula IOCTLs para dar suporte a coleções de nível superior.

Embora os aplicativos de usuário possam se comunicar com o driver de classe HID usando HidD_Xxx rotinas de suporte HIDClass, os drivers de modo kernel devem enviar as solicitações de controle de dispositivo correspondentes descritas nesta seção.

Os parâmetros de entrada e saída são específicos da solicitação.

Após a conclusão de uma solicitação, os membros do bloco de status de E/S são definidos da seguinte maneira:

O membro Status é definido pelo driver de classe HID para todas as solicitações que ele manipula.

Conforme descrito para cada IOCTL, o membro Information é definido pelo driver de classe ou por um driver de nível inferior. Normalmente, quando um driver de nível inferior transfere dados de ou para um dispositivo, o driver de nível inferior define Informações como o número de bytes transferidos. No entanto, o driver de classe HID pode retornar um valor diferente.

Tópico Descrição
IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS A solicitação IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS obtém o tamanho da fila de relatório de entrada para uma coleção de nível superior.
IOCTL_GET_PHYSICAL_DESCRIPTOR A solicitação IOCTL_GET_PHYSICAL_DESCRIPTOR obtém o descritor físico de uma coleção de nível superior.
IOCTL_HID_DEVICERESET_NOTIFICATION A solicitação IOCTL_HID_DEVICERESET_NOTIFICATION é enviada pelo driver do cliente HID ao driver de classe HID para aguardar um evento de redefinição iniciado pelo dispositivo.
IOCTL_HID_DISABLE_SECURE_READ A solicitação IOCTL_HID_DISABLE_SECURE_READ cancela uma solicitação de IOCTL_HID_ENABLE_SECURE_READ para uma coleção HID.
IOCTL_HID_ENABLE_SECURE_READ A solicitação IOCTL_HID_ENABLE_SECURE_READ permite uma leitura segura para arquivos abertos de uma coleção HID.
IOCTL_HID_ENABLE_WAKE_ON_SX A solicitação IOCTL_HID_ENABLE_WAKE_ON_SX é usada para indicar o requisito de um dispositivo ser capaz de ativar a suspensão do sistema.
IOCTL_HID_FLUSH_QUEUE A solicitação IOCTL_HID_FLUSH_QUEUE removerá todos os relatórios de entrada não preparados da fila de relatório de entrada de uma coleção de nível superior.
IOCTL_HID_GET_COLLECTION_DESCRIPTOR A solicitação IOCTL_HID_GET_COLLECTION_DESCRIPTOR obtém os dados pré-preparados de uma coleção de nível superior, que o driver de classe HID extraiu do descritor de relatório do dispositivo físico durante a inicialização do dispositivo.
IOCTL_HID_GET_COLLECTION_INFORMATION A solicitação IOCTL_HID_GET_COLLECTION_INFORMATION obtém a estrutura de HID_COLLECTION_INFORMATION de uma coleção de nível superior.
IOCTL_HID_GET_DRIVER_CONFIG A solicitação IOCTL_HID_GET_DRIVER_CONFIG recupera a configuração do driver.
IOCTL_HID_GET_FEATURE A solicitação IOCTL_HID_GET_FEATURE retorna um relatório de recurso associado a uma coleção de nível superior.
IOCTL_HID_GET_HARDWARE_ID A solicitação IOCTL_HID_GET_HARDWARE_ID obtém a ID de hardware plug and play de uma coleção de nível superior.
IOCTL_HID_GET_INDEXED_STRING A solicitação IOCTL_HID_GET_INDEXED_STRING obtém uma cadeia de caracteres inserida especificada de uma coleção de nível superior.
IOCTL_HID_GET_INPUT_REPORT A solicitação IOCTL_HID_GET_INPUT_REPORT obtém um relatório de entrada de uma coleção de nível superior.
IOCTL_HID_GET_MANUFACTURER_STRING A solicitação IOCTL_HID_GET_MANUFACTURER_STRING obtém a cadeia de caracteres inserida de uma coleção de nível superior que identifica o fabricante do dispositivo.
IOCTL_HID_GET_MS_GENRE_DESCRIPTOR A solicitação IOCTL_HID_GET_MS_GENRE_DESCRIPTOR é usada para recuperar o descritor de gênero para o dispositivo.
IOCTL_HID_GET_POLL_FREQUENCY_MSEC A solicitação IOCTL_HID_GET_POLL_FREQUENCY_MSEC obtém a frequência de sondagem atual, em milissegundos, de uma coleção de nível superior.
IOCTL_HID_GET_PRODUCT_STRING A solicitação IOCTL_HID_GET_PRODUCT_STRING obtém a cadeia de caracteres inserida de uma coleção de nível superior que identifica o produto do fabricante. A cadeia de caracteres recuperada é uma cadeia de caracteres largos terminada em NULL em um formato legível por humanos. Para obter informações gerais sobre dispositivos HIDClass, consulte Coleções HID.
IOCTL_HID_GET_SERIALNUMBER_STRING A solicitação IOCTL_HID_GET_SERIALNUMBER_STRING obtém a cadeia de caracteres inserida de uma coleção de nível superior que identifica o número de série do dispositivo.
IOCTL_HID_SET_DRIVER_CONFIG A solicitação IOCTL_HID_SET_DRIVER_CONFIG define a configuração do driver.
IOCTL_HID_SET_FEATURE A solicitação IOCTL_HID_SET_FEATURE envia um relatório de recurso para uma coleção de nível superior. Para obter informações gerais sobre dispositivos HIDClass, consulte Coleções HID.
IOCTL_HID_SET_OUTPUT_REPORT A solicitação IOCTL_HID_SET_OUTPUT_REPORT envia um relatório de saída para uma coleção de nível superior.
IOCTL_HID_SET_POLL_FREQUENCY_MSEC A solicitação IOCTL_HID_SET_POLL_FREQUENCY_MSEC define a frequência de sondagem, em milissegundos, para uma coleção de nível superior. Aplicativos de modo de usuário ou drivers de modo kernel que executam leituras irregulares e oportunistas em um dispositivo sondado devem fornecer um intervalo de sondagem de zero. Nesses casos, IOCTL_HID_SET_POLL_FREQUENCY_MSEC realmente não altera a frequência de sondagem do dispositivo; mas se os dados do relatório não estiverem obsoletos quando forem lidos, a leitura será concluída imediatamente com os dados de relatório mais recentes da coleção indicada. Se os dados do relatório estiverem obsoletos, eles serão atualizados imediatamente, sem aguardar a expiração do intervalo de sondagem e a leitura será concluída com os novos dados. Se o valor do intervalo de sondagem fornecido no IRP não for zero, ele deverá ser >= MIN_POLL_INTERVAL_MSEC e <= MAX_POLL_INTERVAL_MSEC. A sondagem poderá ser limitada se houver várias coleções de nível superior. Para obter informações gerais sobre dispositivos HIDClass, consulte Coleções HID.
IOCTL_HID_SET_S0_IDLE_TIMEOUT A solicitação IOCTL_HID_SET_S0_IDLE_TIMEOUT é usada por um cliente para informar o driver de classe HID sobre o valor de tempo limite ocioso preferencial do cliente.
IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS A solicitação IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS define o número de buffers para a fila de relatório de entrada de uma coleção de nível superior. Cada fila de relatório de entrada é implementada como um buffer de anéis. Se uma coleção transmitir dados para o driver de classe HID mais rapidamente do que o driver pode lê-los, alguns dos dados poderão ser perdidos. Para evitar esse tipo de perda, você pode usar uma solicitação IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS para ajustar o número de buffers que a fila de relatório de entrada contém. O driver de classe HID requer um mínimo de dois buffers de entrada. O número máximo de buffers de entrada compatíveis com o driver de classe HID é 512. O número padrão de buffers de entrada é 32. Para obter informações gerais sobre dispositivos HIDClass, consulte Coleções HID.

Reservado para uso interno do sistema

Esta seção lista, em ordem alfabética, as rotinas, estruturas, tipos de enumeração e tipos de dados relacionados a HIDClass que são reservados para uso interno do 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

O tipo de enumeração DeviceObjectState é reservado para uso interno do sistema.

enum DeviceObjectState {
  DeviceObjectStarted,
  DeviceObjectStopped,
  DeviceObjectRemoved
};

Cabeçalhos declarados em Hidclass.h.

HID_DRIVER_CONFIG

A estrutura HID_DRIVER_CONFIG é reservada para uso interno do sistema.

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

Cabeçalhos declarados em Hidclass.h.

HID_INTERFACE_HIDPARSE

A estrutura HID_INTERFACE_HIDPARSE é reservada para uso interno do sistema.

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

Cabeçalhos declarados em Hidclass.h.

HID_INTERFACE_NOTIFY_PNP

A estrutura HID_INTERFACE_NOTIFY_PNP é reservada para uso interno do 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;

Cabeçalhos declarados em Hidclass.h.

HIDD_CONFIGURATION

A estrutura de HIDD_CONFIGURATION é reservada para uso interno do sistema.

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

Cabeçalhos declarados em Hidsdi.h.

HidD_GetConfiguration

A rotina HidD_GetConfiguration é reservada para uso interno do sistema.

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

Cabeçalhos declarados em Hidsdi.h.

HidD_GetMsGenreDescriptor

A rotina HidD_GetMsGenreDescriptor é reservada para uso interno do sistema.

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

Cabeçalhos declarados em Hidsdi.h.

HidD_SetConfiguration

A rotina HidD_SetConfiguration é reservada para uso interno do sistema.

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

Cabeçalhos declarados em Hidsdi.h.

HIDP_COLLECTION_DESC

A estrutura HIDP_COLLECTION_DESC é reservada para uso interno do 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;

Cabeçalhos declarados em Hidpddi.h.

HIDP_DEVICE_DESC

A estrutura de HIDP_DEVICE_DESC é reservada para uso interno do 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;

Cabeçalhos declarados em Hidpddi.h.

HidP_FreeCollectionDescription

A rotina de HidP_FreeCollectionDescription é reservada para uso interno do sistema.

VOID
HidP_FreeCollectionDescription(
    IN PHIDP_DEVICE_DESC  DeviceDescription
    );

Cabeçalhos declarados em Hidpddi.h.

HIDP_GETCOLDESC_DBG

A estrutura de HIDP_GETCOLDESC_DBG é reservada para uso interno do sistema.

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

Cabeçalhos declarados em Hidpddi.h.

HIDP_KEYBOARD_DIRECTION

O tipo de enumeração HIDP_KEYBOARD_DIRECTION é reservado para uso interno do sistema.

typedef enum _HIDP_KEYBOARD_DIRECTION {
 HidP_Keyboard_Break,
 HidP_Keyboard_Make
} HIDP_KEYBOARD_DIRECTION;

Cabeçalhos declarados em Hidpi.h.

HIDP_KEYBOARD_MODIFIER_STATE

A estrutura de HIDP_KEYBOARD_MODIFIER_STATE é reservada para uso interno do 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;

Cabeçalhos declarados em Hidpi.h.

HIDP_REPORT_IDS

A estrutura HIDP_REPORT_IDS é reservada para uso interno do sistema.

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

Cabeçalhos declarados em Hidpddi.h.

HidP_SysPowerCaps

A rotina HidP_SysPowerCaps é reservada para uso interno do sistema.

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

Cabeçalhos declarados em Hidpddi.h.

HidP_SysPowerEvent

A rotina de HidP_SysPowerEvent é reservada para uso interno do sistema.

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

Cabeçalhos declarados em Hidpddi.h.

HidP_TranslateUsageAndPagesToI8042ScanCodes

A rotina HidP_TranslateUsageAndPagesToI8042ScanCodes é reservada para uso interno do 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
    );

Cabeçalhos declarados em Hidpi.h.

PHID_STATUS_CHANGE

A rotina de PHID_STATUS_CHANGE é reservada para uso interno do sistema.

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

Cabeçalhos declarados em Hidclass.h.

PHIDP_INSERT_SCANCODES

A rotina de PHIDP_INSERT_SCANCODES é reservada para uso interno do sistema.

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

Cabeçalhos declarados em Hidpi.h.

PHIDP_REPORT_DESCRIPTOR

O tipo de dados PHIDP_REPORT_DESCRIPTOR é reservado para uso interno do sistema.

typedef PUCHAR  PHIDP_REPORT_DESCRIPTOR;

Cabeçalhos declarados em Hidpi.h.

Funções de retorno de chamada

Title Descrição
EVT_VHF_ASYNC_OPERATION O driver de origem HID implementa esse retorno de chamada de evento se quiser dar suporte a uma das quatro operações assíncronas para obter e definir relatórios HID.
EVT_VHF_CLEANUP O driver de origem HID implementa esse retorno de chamada de evento para liberar recursos que podem ser alocados pelo driver para o dispositivo HID virtual.
EVT_VHF_READY_FOR_NEXT_READ_REPORT O driver de origem HID implementa essa função de chamada de evento de volta para usar seu esquema de buffer para relatórios de entrada HID e deseja ser notificado quando o próximo relatório puder ser enviado ao VHF.
PHIDP_GETCAPS A rotina HidP_GetCaps retorna a estrutura HIDP_CAPS de uma coleção de nível superior.
PI8042_ISR_WRITE_PORT A rotina de retorno de chamada do tipo PI8042_ISR_WRITE_PORT grava dados em uma porta i8042. O I8042prt fornece esse retorno de chamada.
PI8042_KEYBOARD_INITIALIZATION_ROUTINE Uma rotina de retorno de chamada do tipo PI8042_KEYBOARD_INITIALIZATION_ROUTINE complementa a inicialização padrão de um dispositivo de teclado pelo I8042prt.
PI8042_KEYBOARD_ISR Uma rotina de retorno de chamada do tipo PI8042_KEYBOARD_ISR personaliza a operação do ISR do teclado I8042prt.
PI8042_MOUSE_ISR Uma rotina de retorno de chamada do tipo PI8042_MOUSE_ISR personaliza a operação do ISR do mouse I8042prt.
PI8042_QUEUE_PACKET A rotina de retorno de chamada do tipo PI8042_QUEUE_PACKET enfileira um pacote de dados de entrada para processamento pelo DPC ISR de um dispositivo de teclado ou mouse. O I8042prt fornece esse retorno de chamada.
PI8042_SYNCH_READ_PORT A rotina de retorno de chamada com tipo PI8042_SYNCH_READ_PORT faz uma leitura sincronizada de uma porta i8042. O I8042prt fornece esse retorno de chamada.
PI8042_SYNCH_WRITE_PORT A rotina de retorno de chamada do tipo PI8042_SYNCH_READ_PORT faz uma gravação sincronizada em uma porta i8042. O I8042prt fornece essa rotina.
PSERVICE_CALLBACK_ROUTINE Um driver de função chama o retorno de chamada do serviço de classe em sua rotina de conclusão de expedição do ISR. O retorno de chamada do serviço de classe transfere dados de entrada do buffer de dados de entrada de um dispositivo para a fila de dados de classe.

Códigos de controle de E/S

Title Descrição
IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS IOCTL A solicitação IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS obtém o tamanho da fila de relatório de entrada para uma coleção de nível superior.
IOCTL_GET_PHYSICAL_DESCRIPTOR IOCTL A solicitação IOCTL_GET_PHYSICAL_DESCRIPTOR obtém o descritor físico de uma coleção de nível superior. Para um minidriver, esse descritor é o descritor do dispositivo HIDClass.
IOCTL_HID_ACTIVATE_DEVICE IOCTL A solicitação IOCTL_HID_ACTIVATE_DEVICE ativa um dispositivo HIDClass, o que o torna pronto para operações de E/S.
IOCTL_HID_DEACTIVATE_DEVICE IOCTL A solicitação IOCTL_HID_DEACTIVATE_DEVICE desativa um dispositivo HIDClass, o que faz com que ele interrompa as operações e encerre todas as solicitações de E/S pendentes.
IOCTL_HID_DEVICERESET_NOTIFICATION IOCTL A solicitação IOCTL_HID_DEVICERESET_NOTIFICATION é enviada pelo driver do cliente HID ao driver de classe HID para aguardar um evento de redefinição iniciado pelo dispositivo.
IOCTL_HID_DISABLE_SECURE_READ IOCTL A solicitação IOCTL_HID_DISABLE_SECURE_READ cancela uma solicitação de IOCTL_HID_ENABLE_SECURE_READ para uma coleção HID.
IOCTL_HID_ENABLE_SECURE_READ IOCTL A solicitação IOCTL_HID_ENABLE_SECURE_READ permite uma leitura segura para arquivos abertos de uma coleção HID.
IOCTL_HID_ENABLE_WAKE_ON_SX IOCTL A solicitação IOCTL_HID_ENABLE_WAKE_ON_SX é usada para indicar o requisito de um dispositivo ser capaz de ativar a suspensão do sistema.
IOCTL_HID_FLUSH_QUEUE IOCTL A solicitação IOCTL_HID_FLUSH_QUEUE removerá todos os relatórios de entrada não preparados da fila de relatório de entrada de uma coleção de nível superior.
IOCTL_HID_GET_COLLECTION_DESCRIPTOR IOCTL A solicitação IOCTL_HID_GET_COLLECTION_DESCRIPTOR obtém os dados pré-preparados de uma coleção de nível superior, que o driver de classe HID extraiu do descritor de relatório do dispositivo físico durante a inicialização do dispositivo.
IOCTL_HID_GET_COLLECTION_INFORMATION IOCTL A solicitação IOCTL_HID_GET_COLLECTION_INFORMATION obtém a estrutura de HID_COLLECTION_INFORMATION de uma coleção de nível superior.
IOCTL_HID_GET_DEVICE_ATTRIBUTES IOCTL A solicitação IOCTL_HID_GET_DEVICE_ATTRIBUTES obtém os atributos de um dispositivo HIDClass em uma estrutura HID_DEVICE_ATTRIBUTES.
IOCTL_HID_GET_DEVICE_DESCRIPTOR IOCTL A solicitação IOCTL_HID_GET_DEVICE_DESCRIPTOR obtém o descritor HID de um dispositivo HIDClass.
IOCTL_HID_GET_DRIVER_CONFIG IOCTL A solicitação IOCTL_HID_GET_DRIVER_CONFIG recupera a configuração do driver.
IOCTL_HID_GET_FEATURE IOCTL A solicitação IOCTL_HID_GET_FEATURE retorna um relatório de recurso associado a uma coleção de nível superior.
IOCTL_HID_GET_HARDWARE_ID IOCTL A solicitação IOCTL_HID_GET_HARDWARE_ID obtém a ID de hardware plug and play de uma coleção de nível superior.
IOCTL_HID_GET_INDEXED_STRING IOCTL A solicitação IOCTL_HID_GET_INDEXED_STRING obtém uma cadeia de caracteres inserida especificada de uma coleção de nível superior.
IOCTL_HID_GET_INPUT_REPORT IOCTL A solicitação IOCTL_HID_GET_INPUT_REPORT obtém um relatório de entrada de uma coleção de nível superior.
IOCTL_HID_GET_MANUFACTURER_STRING IOCTL A solicitação IOCTL_HID_GET_MANUFACTURER_STRING obtém a cadeia de caracteres inserida de uma coleção de nível superior que identifica o fabricante do dispositivo.
IOCTL_HID_GET_MS_GENRE_DESCRIPTOR IOCTL A solicitação IOCTL_HID_GET_MS_GENRE_DESCRIPTOR é usada para recuperar o descritor de gênero para o dispositivo.
IOCTL_HID_GET_POLL_FREQUENCY_MSEC IOCTL A solicitação IOCTL_HID_GET_POLL_FREQUENCY_MSEC obtém a frequência de sondagem atual, em milissegundos, de uma coleção de nível superior.
IOCTL_HID_GET_PRODUCT_STRING IOCTL A solicitação IOCTL_HID_GET_PRODUCT_STRING obtém a cadeia de caracteres inserida de uma coleção de nível superior que identifica o produto do fabricante. A cadeia de caracteres recuperada é uma cadeia de caracteres largos terminada em NULL em um formato legível por humanos.
IOCTL_HID_GET_REPORT_DESCRIPTOR IOCTL A solicitação IOCTL_HID_GET_REPORT_DESCRIPTOR obtém o descritor de relatório para um dispositivo HIDClass.
IOCTL_HID_GET_SERIALNUMBER_STRING IOCTL A solicitação IOCTL_HID_GET_SERIALNUMBER_STRING obtém a cadeia de caracteres inserida de uma coleção de nível superior que identifica o número de série do dispositivo.
IOCTL_HID_GET_STRING IOCTL A solicitação IOCTL_HID_GET_STRING obtém uma ID do fabricante, uma ID do produto ou um número de série para uma coleção de nível superior. A cadeia de caracteres recuperada é uma cadeia de caracteres largos terminada em NULL em um formato legível por humanos.
IOCTL_HID_READ_REPORT IOCTL A solicitação IOCTL_HID_READ_REPORT transfere um relatório de entrada de um dispositivo HIDClass para o buffer do driver de classe HID.
IOCTL_HID_SEND_IDLE_NOTIFICATION_REQUEST IOCTL O código de controle IOCTL_HID_SEND_IDLE_NOTIFICATION_REQUEST é o IOCTL da solicitação de notificação ociosa IRP que HIDClass envia para mini drivers HID, como HIDUSB, para informar ao motorista do ônibus que o dispositivo agora está ocioso.
IOCTL_HID_SET_DRIVER_CONFIG IOCTL A solicitação IOCTL_HID_SET_DRIVER_CONFIG define a configuração do driver.
IOCTL_HID_SET_FEATURE IOCTL A solicitação IOCTL_HID_SET_FEATURE envia um relatório de recurso para uma coleção de nível superior.
IOCTL_HID_SET_OUTPUT_REPORT IOCTL A solicitação IOCTL_HID_SET_OUTPUT_REPORT envia um relatório de saída para uma coleção de nível superior.
IOCTL_HID_SET_POLL_FREQUENCY_MSEC IOCTL A solicitação IOCTL_HID_SET_POLL_FREQUENCY_MSEC define a frequência de sondagem, em milissegundos, para uma coleção de nível superior.
IOCTL_HID_SET_S0_IDLE_TIMEOUT IOCTL A solicitação IOCTL_HID_SET_S0_IDLE_TIMEOUT é usada por um cliente para informar o driver de classe HID sobre o valor de tempo limite ocioso preferido do cliente.
IOCTL_HID_WRITE_REPORT IOCTL A solicitação IOCTL_HID_WRITE_REPORT envia um relatório HID para um dispositivo HIDClass.
IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER IOCTL Não há suporte para a solicitação IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER.
IOCTL_INTERNAL_I8042_HOOK_KEYBOARD IOCTL A solicitação IOCTL_INTERNAL_I8042_HOOK_KEYBOARD faz o seguinte
IOCTL_INTERNAL_I8042_HOOK_MOUSE IOCTL A solicitação IOCTL_INTERNAL_I8042_HOOK_MOUSE adiciona uma rotina de retorno de chamada ISR ao ISR do mouse I8042prt.
IOCTL_INTERNAL_I8042_KEYBOARD_START_INFORMATION IOCTL A solicitação IOCTL_INTERNAL_I8042_KEYBOARD_START_INFORMATION passa um ponteiro para um objeto de interrupção de teclado.
IOCTL_INTERNAL_I8042_KEYBOARD_WRITE_BUFFER IOCTL A solicitação IOCTL_INTERNAL_I8042_KEYBOARD_WRITE_BUFFER grava dados no controlador de porta i8042 para controlar a operação de um dispositivo de teclado.
IOCTL_INTERNAL_I8042_MOUSE_START_INFORMATION IOCTL A solicitação IOCTL_INTERNAL_I8042_MOUSE_START_INFORMATION passa um ponteiro para um objeto de interrupção do mouse.
IOCTL_INTERNAL_I8042_MOUSE_WRITE_BUFFER IOCTL A solicitação IOCTL_INTERNAL_I8042_MOUSE_WRITE_BUFFER grava dados no controlador de porta i8042 para controlar a operação de um dispositivo do mouse.
IOCTL_INTERNAL_KEYBOARD_CONNECT IOCTL A solicitação IOCTL_INTERNAL_KEYBOARD_CONNECT conecta o serviço Kbdclass ao dispositivo de teclado.
IOCTL_INTERNAL_KEYBOARD_DISCONNECT IOCTL A solicitação IOCTL_INTERNAL_KEYBOARD_DISCONNECT é concluída com um status de STATUS_NOT_IMPLEMENTED. Observe que um teclado Plug and Play pode ser adicionado ou removido pelo gerenciador de Plug and Play.
IOCTL_INTERNAL_MOUSE_CONNECT IOCTL A solicitação IOCTL_INTERNAL_MOUSE_CONNECT conecta o serviço Mouclass a um dispositivo mouse.
IOCTL_INTERNAL_MOUSE_DISCONNECT IOCTL A solicitação IOCTL_INTERNAL_MOUSE_DISCONNECT é concluída por Moufiltr com um erro status de STATUS_NOT_IMPLEMENTED.
IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS IOCTL A solicitação IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS define o número de buffers para a fila de relatório de entrada de uma coleção de nível superior.
IOCTL_UMDF_GET_PHYSICAL_DESCRIPTOR IOCTL O código de controle IOCTL_UMDF_GET_PHYSICAL_DESCRIPTOR obtém o descritor físico de um dispositivo HIDClass.
IOCTL_UMDF_HID_GET_FEATURE IOCTL O código de controle IOCTL_UMDF_HID_GET_FEATURE obtém um relatório de recurso de um dispositivo HIDClass.
IOCTL_UMDF_HID_GET_INPUT_REPORT IOCTL O código de controle IOCTL_UMDF_HID_GET_INPUT_REPORT retorna um relatório de entrada de um dispositivo HIDClass.
IOCTL_UMDF_HID_SET_FEATURE IOCTL O código de controle IOCTL_UMDF_HID_GET_FEATURE envia um relatório de recurso para um dispositivo HIDClass.
IOCTL_UMDF_HID_SET_OUTPUT_REPORT IOCTL O código de controle IOCTL_UMDF_HID_SET_OUTPUT_REPORT envia um relatório de saída para uma coleção de nível superior.

IOCTLs

 
IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS

A solicitação IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS obtém o tamanho da fila de relatório de entrada para uma coleção de nível superior.
IOCTL_GET_PHYSICAL_DESCRIPTOR

A solicitação IOCTL_GET_PHYSICAL_DESCRIPTOR obtém o descritor físico de uma coleção de nível superior. Para um minidriver, esse descritor é o descritor do dispositivo HIDClass.
IOCTL_HID_ACTIVATE_DEVICE

A solicitação IOCTL_HID_ACTIVATE_DEVICE ativa um dispositivo HIDClass, o que o torna pronto para operações de E/S.
IOCTL_HID_DEACTIVATE_DEVICE

A solicitação IOCTL_HID_DEACTIVATE_DEVICE desativa um dispositivo HIDClass, o que faz com que ele interrompa as operações e encerre todas as solicitações de E/S pendentes.
IOCTL_HID_DEVICERESET_NOTIFICATION

A solicitação IOCTL_HID_DEVICERESET_NOTIFICATION é enviada pelo driver do cliente HID para o driver de classe HID para aguardar um evento de redefinição iniciado pelo dispositivo.
IOCTL_HID_DISABLE_SECURE_READ

A solicitação IOCTL_HID_DISABLE_SECURE_READ cancela uma solicitação de IOCTL_HID_ENABLE_SECURE_READ para uma coleção HID.
IOCTL_HID_ENABLE_SECURE_READ

A solicitação IOCTL_HID_ENABLE_SECURE_READ habilita uma leitura segura para arquivos abertos de uma coleção HID.
IOCTL_HID_ENABLE_WAKE_ON_SX

A solicitação IOCTL_HID_ENABLE_WAKE_ON_SX é usada para indicar o requisito de um dispositivo ser capaz de acordar da suspensão do sistema.
IOCTL_HID_FLUSH_QUEUE

A solicitação IOCTL_HID_FLUSH_QUEUE desativa todos os relatórios de entrada nãoparenciados da fila de relatório de entrada de uma coleção de nível superior.
IOCTL_HID_GET_COLLECTION_DESCRIPTOR

A solicitação IOCTL_HID_GET_COLLECTION_DESCRIPTOR obtém os dados pré-preparados de uma coleção de nível superior, que o driver de classe HID extraiu do descritor de relatório do dispositivo físico durante a inicialização do dispositivo.
IOCTL_HID_GET_COLLECTION_INFORMATION

A solicitação IOCTL_HID_GET_COLLECTION_INFORMATION obtém a estrutura de HID_COLLECTION_INFORMATION de uma coleção de nível superior.
IOCTL_HID_GET_DEVICE_ATTRIBUTES

A solicitação IOCTL_HID_GET_DEVICE_ATTRIBUTES obtém os atributos de um dispositivo HIDClass em uma estrutura HID_DEVICE_ATTRIBUTES.
IOCTL_HID_GET_DEVICE_DESCRIPTOR

A solicitação IOCTL_HID_GET_DEVICE_DESCRIPTOR obtém o descritor HID de um dispositivo HIDClass.
IOCTL_HID_GET_DRIVER_CONFIG

A solicitação IOCTL_HID_GET_DRIVER_CONFIG recupera a configuração do driver.
IOCTL_HID_GET_FEATURE

A solicitação IOCTL_HID_GET_FEATURE retorna um relatório de recurso associado a uma coleção de nível superior.
IOCTL_HID_GET_HARDWARE_ID

A solicitação IOCTL_HID_GET_HARDWARE_ID obtém a ID de hardware plug and play de uma coleção de nível superior.
IOCTL_HID_GET_INDEXED_STRING

A solicitação IOCTL_HID_GET_INDEXED_STRING obtém uma cadeia de caracteres inserida especificada de uma coleção de nível superior.
IOCTL_HID_GET_INPUT_REPORT

A solicitação IOCTL_HID_GET_INPUT_REPORT obtém um relatório de entrada de uma coleção de nível superior.
IOCTL_HID_GET_MANUFACTURER_STRING

A solicitação IOCTL_HID_GET_MANUFACTURER_STRING obtém a cadeia de caracteres inserida de uma coleção de nível superior que identifica o fabricante do dispositivo.
IOCTL_HID_GET_MS_GENRE_DESCRIPTOR

A solicitação IOCTL_HID_GET_MS_GENRE_DESCRIPTOR é usada para recuperar o descritor de gênero para o dispositivo.
IOCTL_HID_GET_POLL_FREQUENCY_MSEC

A solicitação IOCTL_HID_GET_POLL_FREQUENCY_MSEC obtém a frequência de sondagem atual, em milissegundos, de uma coleção de nível superior.
IOCTL_HID_GET_PRODUCT_STRING

A solicitação IOCTL_HID_GET_PRODUCT_STRING obtém a cadeia de caracteres inserida de uma coleção de nível superior que identifica o produto do fabricante. A cadeia de caracteres recuperada é uma cadeia de caracteres largos terminada em NULL em um formato legível por humanos.
IOCTL_HID_GET_REPORT_DESCRIPTOR

A solicitação IOCTL_HID_GET_REPORT_DESCRIPTOR obtém o descritor de relatório para um dispositivo HIDClass.
IOCTL_HID_GET_SERIALNUMBER_STRING

A solicitação IOCTL_HID_GET_SERIALNUMBER_STRING obtém a cadeia de caracteres inserida de uma coleção de nível superior que identifica o número de série do dispositivo.
IOCTL_HID_GET_STRING

A solicitação IOCTL_HID_GET_STRING obtém uma ID do fabricante, uma ID do produto ou um número de série para uma coleção de nível superior. A cadeia de caracteres recuperada é uma cadeia de caracteres largos terminada em NULL em um formato legível por humanos.
IOCTL_HID_READ_REPORT

A solicitação IOCTL_HID_READ_REPORT transfere um relatório de entrada de um dispositivo HIDClass para o buffer do driver de classe HID.
IOCTL_HID_SEND_IDLE_NOTIFICATION_REQUEST

O código de controle IOCTL_HID_SEND_IDLE_NOTIFICATION_REQUEST é o IOCTL do IRP de solicitação de notificação ociosa que HIDClass envia para mini drivers HID, como HIDUSB, para informar ao motorista do barramento que o dispositivo agora está ocioso.
IOCTL_HID_SET_DRIVER_CONFIG

A solicitação IOCTL_HID_SET_DRIVER_CONFIG define a configuração do driver.
IOCTL_HID_SET_FEATURE

A solicitação IOCTL_HID_SET_FEATURE envia um relatório de recurso para uma coleção de nível superior.
IOCTL_HID_SET_OUTPUT_REPORT

A solicitação IOCTL_HID_SET_OUTPUT_REPORT envia um relatório de saída para uma coleção de nível superior.
IOCTL_HID_SET_POLL_FREQUENCY_MSEC

A solicitação IOCTL_HID_SET_POLL_FREQUENCY_MSEC define a frequência de sondagem, em milissegundos, para uma coleção de nível superior.
IOCTL_HID_SET_S0_IDLE_TIMEOUT

A solicitação IOCTL_HID_SET_S0_IDLE_TIMEOUT é usada por um cliente para informar o driver de classe HID sobre o valor de tempo limite ocioso preferencial do cliente.
IOCTL_HID_WRITE_REPORT

A solicitação IOCTL_HID_WRITE_REPORT envia um relatório HID para um dispositivo HIDClass.
IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER

Não há suporte para a solicitação IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER.
IOCTL_INTERNAL_I8042_HOOK_KEYBOARD

A solicitação IOCTL_INTERNAL_I8042_HOOK_KEYBOARD faz o seguinte: adiciona uma rotina de retorno de chamada de inicialização à rotina de inicialização do teclado I8042prtAdicionar uma rotina de retorno de chamada ISR ao ISR do teclado I8042prtA inicialização e os retornos de chamada isr são opcionais e são fornecidos por um driver de filtro de nível superior para um dispositivo de teclado estilo PS/2. Depois que o I8042prt recebe uma solicitação de IOCTL_INTERNAL_KEYBOARD_CONNECT, ele envia uma solicitação de IOCTL_INTERNAL_I8042_HOOK_KEYBOARD síncrona para a parte superior da pilha de dispositivos de teclado. Depois que kbfiltr recebe a solicitação de teclado de gancho, Kbfiltr filtra a solicitação da seguinte maneira: salva as informações de nível superior passadas para Kbfiltr, que inclui o contexto de um objeto de dispositivo de nível superior, um ponteiro para um retorno de chamada de inicialização e um ponteiro para um retorno de chamada ISRRecoloca as informações de nível superior com suas própriasSalvar o contexto de I8042prt e ponteiros para retornos de chamada que o retorno de chamada isr Kbfiltr pode usarPara obter mais informações sobre essa solicitação e os retornos de chamada, consulte os tópicos a seguir: Rotinas de retorno de chamada I8042prt Rotinas de retorno de chamadaKbfiltr.
IOCTL_INTERNAL_I8042_HOOK_MOUSE

A solicitação IOCTL_INTERNAL_I8042_HOOK_MOUSE adiciona uma rotina de retorno de chamada ISR ao ISR do mouse I8042prt.
IOCTL_INTERNAL_I8042_KEYBOARD_START_INFORMATION

A solicitação IOCTL_INTERNAL_I8042_KEYBOARD_START_INFORMATION passa um ponteiro para um objeto de interrupção de teclado.
IOCTL_INTERNAL_I8042_KEYBOARD_WRITE_BUFFER

A solicitação IOCTL_INTERNAL_I8042_KEYBOARD_WRITE_BUFFER grava dados no controlador de porta i8042 para controlar a operação de um dispositivo de teclado.
IOCTL_INTERNAL_I8042_MOUSE_START_INFORMATION

A solicitação IOCTL_INTERNAL_I8042_MOUSE_START_INFORMATION passa um ponteiro para um objeto de interrupção do mouse.
IOCTL_INTERNAL_I8042_MOUSE_WRITE_BUFFER

A solicitação IOCTL_INTERNAL_I8042_MOUSE_WRITE_BUFFER grava dados no controlador de porta i8042 para controlar a operação de um dispositivo de mouse.
IOCTL_INTERNAL_KEYBOARD_CONNECT

A solicitação IOCTL_INTERNAL_KEYBOARD_CONNECT conecta o serviço Kbdclass ao dispositivo de teclado.
IOCTL_INTERNAL_KEYBOARD_DISCONNECT

A solicitação de IOCTL_INTERNAL_KEYBOARD_DISCONNECT é concluída com um status de STATUS_NOT_IMPLEMENTED. Observe que um teclado Plug and Play pode ser adicionado ou removido pelo gerenciador do Plug and Play.
IOCTL_INTERNAL_MOUSE_CONNECT

A solicitação IOCTL_INTERNAL_MOUSE_CONNECT conecta o serviço Mouclass a um dispositivo de mouse.
IOCTL_INTERNAL_MOUSE_DISCONNECT

A solicitação de IOCTL_INTERNAL_MOUSE_DISCONNECT é concluída por Moufiltr com um erro status de STATUS_NOT_IMPLEMENTED.
IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS

A solicitação IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS define o número de buffers para a fila de relatório de entrada de uma coleção de nível superior.
IOCTL_UMDF_GET_PHYSICAL_DESCRIPTOR

O código de controle IOCTL_UMDF_GET_PHYSICAL_DESCRIPTOR obtém o descritor físico de um dispositivo HIDClass.
IOCTL_UMDF_HID_GET_FEATURE

O código de controle IOCTL_UMDF_HID_GET_FEATURE obtém um relatório de recurso de um dispositivo HIDClass.
IOCTL_UMDF_HID_GET_INPUT_REPORT

O código de controle IOCTL_UMDF_HID_GET_INPUT_REPORT retorna um relatório de entrada de um dispositivo HIDClass.
IOCTL_UMDF_HID_SET_FEATURE

O código de controle IOCTL_UMDF_HID_GET_FEATURE envia um relatório de recurso para um dispositivo HIDClass.
IOCTL_UMDF_HID_SET_OUTPUT_REPORT

O código de controle IOCTL_UMDF_HID_SET_OUTPUT_REPORT envia um relatório de saída para uma coleção de nível superior.

Enumerações

 
HIDP_REPORT_TYPE

O tipo de enumeração HIDP_REPORT_TYPE é usado para especificar um tipo de relatório HID.
KEYBOARD_SCAN_STATE

O tipo de enumeração KEYBOARD_SCAN_STATE indica o estado de verificação de um byte de entrada de um teclado.
MOUSE_STATE

O tipo de enumeração MOUSE_STATE identifica o estado atual da entrada de um mouse.

Funções

 
EVT_HIDSPICX_NOTIFY_POWERDOWN

Saiba mais sobre: EVT_HIDSPICX_NOTIFY_POWERDOWN
EVT_HIDSPICX_RESETDEVICE

Saiba mais sobre: EVT_HIDSPICX_RESETDEVICE
EVT_VHF_ASYNC_OPERATION

O driver de origem HID implementa esse retorno de chamada de evento se quiser dar suporte a uma das quatro operações assíncronas para obter e definir relatórios HID.
EVT_VHF_CLEANUP

O driver de origem HID implementa esse retorno de chamada de evento para liberar recursos que podem ser alocados pelo driver para o dispositivo HID virtual.
EVT_VHF_READY_FOR_NEXT_READ_REPORT

O driver de origem HID implementa essa função de chamada de evento de volta para usar seu esquema de buffer para relatórios de entrada HID e deseja ser notificado quando o próximo relatório puder ser enviado ao VHF.
HidD_FlushQueue

A rotina HidD_FlushQueue exclui todos os relatórios de entrada pendentes na fila de entrada de uma coleção de nível superior.
HidD_FreePreparsedData

A rotina HidD_FreePreparsedData libera os recursos alocados pelo driver de classe HID para manter os dados pré-preparados de uma coleção de nível superior.
HidD_GetAttributes

A rotina HidD_GetAttributes retorna os atributos de uma coleção de nível superior especificada.
HidD_GetFeature

A rotina HidD_GetFeature retorna um relatório de recursos de uma coleção de nível superior especificada.
HidD_GetHidGuid

A rotina HidD_GetHidGuid retorna o interfaceGUID do dispositivo para dispositivos HIDClass.
HidD_GetIndexedString

A rotina HidD_GetIndexedString retorna uma cadeia de caracteres inserida especificada de uma coleção de nível superior.
HidD_GetInputReport

A rotina HidD_GetInputReport retorna relatórios de entrada de uma coleção de nível superior.
HidD_GetManufacturerString

A rotina HidD_GetManufacturerString retorna a cadeia de caracteres inserida de uma coleção de nível superior que identifica o fabricante.
HidD_GetNumInputBuffers

A rotina HidD_GetNumInputBuffers retorna o tamanho atual, em número de relatórios, do buffer de anel que o driver de classe HID usa para enfileirar relatórios de entrada de uma coleção de nível superior especificada.
HidD_GetPhysicalDescriptor

A rotina HidD_GetPhysicalDescriptor retorna a cadeia de caracteres inserida de uma coleção de nível superior que identifica o dispositivo físico da coleção.
HidD_GetPreparsedData

A rotina HidD_GetPreparsedData retorna os dados pré-preparados de uma coleção de nível superior.
HidD_GetProductString

A rotina HidD_GetProductString retorna a cadeia de caracteres inserida de uma coleção de nível superior que identifica o produto do fabricante.
HidD_GetSerialNumberString

A rotina HidD_GetSerialNumberString retorna a cadeia de caracteres inserida de uma coleção de nível superior que identifica o número de série do dispositivo físico da coleção.
HidD_SetFeature

A rotina HidD_SetFeature envia um relatório de recurso para uma coleção de nível superior.
HidD_SetNumInputBuffers

A rotina HidD_SetNumInputBuffers define o número máximo de relatórios de entrada que o buffer de anel do driver de classe HID pode conter para uma coleção de nível superior especificada.
HidD_SetOutputReport

A rotina HidD_SetOutputReport envia um relatório de saída para uma coleção de nível superior.
HidP_GetButtonArray

HidP_GetButtonArray retorna uma matriz de estruturas de HIDP_BUTTON_ARRAY_DATA para o relatório especificado.
HidP_GetButtonCaps

A rotina HidP_GetButtonCaps retorna uma matriz de recursos de botão que descreve todos os botões de controle HID em uma coleção de nível superior para um tipo especificado de relatório HID.
HidP_GetButtons

A macro HidP_GetButtons é um alias mnemônico para a função HHidP_GetUsages.
HidP_GetButtonsEx

A macro HidP_GetButtonsEx é um alias mnemônico para a função HidP_GetUsagesEx.
HidP_GetCaps

A rotina HidP_GetCaps retorna a estrutura HIDP_CAPS de uma coleção de nível superior. Essa rotina está em hidpi.h.
HidP_GetCollectionDescription

Preenche um bloco de descrição do dispositivo com a descrição da coleção e as informações de ID de relatório correspondentes para o descritor de relatório especificado.
HidP_GetData

A rotina HidP_GetData retorna, para um relatório especificado, uma matriz de estruturas HIDP_DATA que identificam os índices de dados de todos os botões de controle HID que estão atualmente definidos como ON (1) e os índices de dados e dados associados a todos os valores de controle HID.
HidP_GetExtendedAttributes

A rotina HidP_GetExtendedAttributes retorna os atributos estendidos de um controle HID.
HidP_GetLinkCollectionNodes

A rotina de HidP_GetLinkCollectionNodes retorna a matriz de coleção de link de uma coleção de nível superior.
HidP_GetScaledUsageValue

A rotina HidP_GetScaledUsageValue retorna o resultado assinado e dimensionado de um valor de controle HID extraído de um relatório HID.
HidP_GetSpecificButtonCaps

A rotina HidP_GetSpecificButtonCaps retorna uma matriz de recursos de botão que descreve todos os botões de controle HID em uma coleção de nível superior que atendem a um critério de seleção especificado.
HidP_GetSpecificValueCaps

A rotina HidP_GetSpecificValueCaps retorna uma matriz de funcionalidade de valor que descreve todos os valores de controle HID que atendem a um critério de seleção especificado.
HidP_GetUsages

A rotina HidP_GetUsages retorna uma lista de todos os usos do botão de controle HID que estão em uma página de uso especificada e são definidos como ON em um relatório HID.
HidP_GetUsagesEx

A rotina HidP_GetUsagesEx retorna uma lista de todos os usos do botão de controle HID definidos como ON em um relatório HID.
HidP_GetUsageValue

A rotina HidP_GetUsageValue extrai os dados associados a um valor de controle HID que corresponde aos critérios de seleção em um relatório HID.
HidP_GetUsageValueArray

A rotina HidP_GetUsageValueArray extrai os dados associados a uma matriz de valor de uso de controle HID de um relatório HID.
HidP_GetValueCaps

A rotina HidP_GetValueCaps retorna uma matriz de funcionalidade de valor que descreve todos os valores de controle HID em uma coleção de nível superior para um tipo especificado de relatório HID.
HidP_GetVersion

A função HidP_GetVersion é uma implementação somente de cabeçalho que retorna a versão da API HID.
HidP_InitializeReportForID

A rotina HidP_InitializeReportForID inicializa um relatório HID.
HidP_MaxDataListLength

A rotina HidP_MaxDataListLength retorna o número máximo de estruturas de HIDP_DATA que HidP_GetData podem retornar para um tipo especificado de relatório HID e uma coleção de nível superior especificada.
HidP_MaxUsageListLength

A rotina HidP_MaxUsageListLength retorna o número máximo de usos hid que HidP_GetUsages pode retornar para um tipo especificado de relatório HID e uma coleção de nível superior especificada.
HidP_SetButtonArray

A função HidP_SetButtonArray define o estado dos botões por meio de uma matriz de estruturas de HIDP_BUTTON_ARRAY_DATA.
HidP_SetButtons

A macro HidP_SetButtons é um alias mnemônico para a função HidP_SetUsages.
HidP_SetData

A rotina de HidP_SetData define um conjunto especificado de usos de valor e botão de controle HID em um relatório HID.
HidP_SetScaledUsageValue

A rotina de HidP_SetScaledUsageValue converte um número físico assinado e dimensionado em um valor lógico do uso de HID e define o valor de uso em um relatório HID especificado.
HidP_SetUsages

O HidP_SetUsages rotina define os botões de controle HID especificados ON (1) em um relatório HID.
HidP_SetUsageValue

A rotina HidP_SetUsageValue define um valor de controle HID em um relatório HID especificado.
HidP_SetUsageValueArray

A rotina HidP_SetUsageValueArray define uma matriz de valor de uso de controle HID em um relatório HID especificado.
HidP_TranslateUsagesToI8042ScanCodes

A rotina HidP_TranslateUsagesToI8042ScanCodes mapeia uma lista de usos de HID na página de uso do HID_USAGE_PAGE_KEYBOARD para seus respectivos códigos de verificação PS/2 (Conjunto de Códigos de Verificação 1).
HidP_UnsetButtons

A macro HidP_UnsetButtons é um alias mnemônico para a função HidP_UnsetUsages.
HidP_UnsetUsages

A rotina HidP_UnsetUsages define os usos do botão de controle HID especificados OFF (zero) em um relatório HID.
HidP_UsageAndPageListDifference

A função HidP_UsageAndPageListDifference retorna a diferença entre duas listas de usos.
HidP_UsageListDifference

A rotina HidP_UsageListDifference retorna as diferenças entre duas matrizes de usos hid.
HidRegisterMinidriver

A rotina HidRegisterMinidriver é chamada por minidrivers HID, durante sua inicialização, para se registrar no driver de classe HID.
HIDSPICX_DEVICE_CONFIG_INIT

Saiba mais sobre: HIDSPICX_DEVICE_CONFIG_INIT
HidSpiCxDeviceConfigure

Saiba mais sobre: HidSpiCxDeviceConfigure
HidSpiCxDeviceInitConfig

Saiba mais sobre: HidSpiCxDeviceInitConfig
HidSpiCxNotifyDeviceReset

Saiba mais sobre: HidSpiCxNotifyDeviceReset
PHIDP_GETCAPS

A rotina HidP_GetCaps retorna a estrutura HIDP_CAPS de uma coleção de nível superior. Essa rotina está em hidclass.h.
PI8042_ISR_WRITE_PORT

A rotina de retorno de chamada do tipo PI8042_ISR_WRITE_PORT grava dados em uma porta i8042. O I8042prt fornece esse retorno de chamada.
PI8042_KEYBOARD_INITIALIZATION_ROUTINE

Uma rotina de retorno de chamada do tipo PI8042_KEYBOARD_INITIALIZATION_ROUTINE complementa a inicialização padrão de um dispositivo de teclado pelo I8042prt.
PI8042_KEYBOARD_ISR

Uma rotina de retorno de chamada do tipo PI8042_KEYBOARD_ISR personaliza a operação do ISR do teclado I8042prt.
PI8042_MOUSE_ISR

Uma rotina de retorno de chamada do tipo PI8042_MOUSE_ISR personaliza a operação do ISR do mouse I8042prt.
PI8042_QUEUE_PACKET

A rotina de retorno de chamada do tipo PI8042_QUEUE_PACKET enfileira um pacote de dados de entrada para processamento pelo DPC ISR de um dispositivo de teclado ou mouse. O I8042prt fornece esse retorno de chamada.
PI8042_SYNCH_READ_PORT

A rotina de retorno de chamada com tipo PI8042_SYNCH_READ_PORT faz uma leitura sincronizada de uma porta i8042. O I8042prt fornece esse retorno de chamada.
PI8042_SYNCH_WRITE_PORT

A rotina de retorno de chamada do tipo PI8042_SYNCH_READ_PORT faz uma gravação sincronizada em uma porta i8042. O I8042prt fornece essa rotina.
PSERVICE_CALLBACK_ROUTINE

Um driver de função chama o retorno de chamada do serviço de classe em sua rotina de conclusão de expedição do ISR. O retorno de chamada do serviço de classe transfere dados de entrada do buffer de dados de entrada de um dispositivo para a fila de dados de classe.
VHF_CONFIG_INIT

Use a função VHF_CONFIG_INIT para inicializar os membros necessários da estrutura VHF_CONFIG alocada pelo driver de origem HID.
VhfAsyncOperationComplete

O driver de origem HID chama esse método para definir os resultados de uma operação assíncrona.
VhfCreate

O driver de origem HID chama esse método para criar um dispositivo HID virtual.
VhfDelete

O driver de dispositivo de origem HID chama esse método para excluir um dispositivo VHF.
VhfReadReportSubmit

O driver de origem HID chama esse método para enviar um relatório de leitura hid (entrada) para o VHF (Virtual HID Framework).
VhfStart

O driver de origem HID chama esse método para iniciar o dispositivo HID virtual.

Estruturas

 
CONNECT_DATA

CONNECT_DATA especifica informações que Kbdclass e Mouclass usam para se conectar a uma porta do teclado ou do mouse.
HID_COLLECTION_INFORMATION

A estrutura HID_COLLECTION_INFORMATION contém informações gerais sobre uma coleção de nível superior.
HID_DESCRIPTOR

A estrutura HID_DESCRIPTOR representa um descritor HID para um dispositivo HIDClass.
HID_DEVICE_ATTRIBUTES

A estrutura HID_DEVICE_ATTRIBUTES contém informações sobre um dispositivo HIDClass.
HID_DEVICE_EXTENSION

A estrutura HID_DEVICE_EXTENSION é usada por um minidriver HID como layout para a extensão de dispositivo do objeto de dispositivo funcional de um dispositivo HIDClass.
HID_MINIDRIVER_REGISTRATION

A estrutura HID_MINIDRIVER_REGISTRATION contém informações de registro que um minidriver HID passa para os Drivers de Cliente HID quando o minidriver se registra com o driver de classe.
HID_XFER_PACKET

A estrutura HID_XFER_PACKET em hidclass.he contém informações sobre um relatório HID que o driver de classe HID usa com solicitações de E/S para obter ou definir um relatório.
HID_XFER_PACKET

A estrutura HID_XFER_PACKET em vhf.h contém informações sobre um relatório HID que o driver de classe HID usa com solicitações de E/S para obter ou definir um relatório.
HIDD_ATTRIBUTES

A estrutura HIDD_ATTRIBUTES contém informações do fornecedor sobre um dispositivo HIDClass.
HIDP_BUTTON_ARRAY_DATA

A estrutura HIDP_BUTTON_ARRAY_DATA é usada para obter ou definir dados para um único botão em uma matriz de botões.
HIDP_BUTTON_CAPS

A estrutura HIDP_BUTTON_CAPS contém informações sobre a funcionalidade de um uso de botão de controle HID (ou um conjunto de botões associados a um intervalo de uso).
HIDP_CAPS

A estrutura HIDP_CAPS contém informações sobre a funcionalidade de uma coleção de nível superior.
HIDP_COLLECTION_DESC

Contém as informações de uma coleção de nível superior. Essa estrutura é usada na chamada HidP_GetCollectionDescription.
HIDP_DATA

A estrutura HIDP_DATA contém informações sobre o índice de dados e o valor de um controle HID em um relatório HID.
HIDP_DEVICE_DESC

Contém o bloco de descrição do dispositivo preenchido em descrições de coleção como listas vinculadas. Essa estrutura é usada por HidP_GetCollectionDescription.
HIDP_EXTENDED_ATTRIBUTES

A estrutura HIDP_EXTENDED_ATTRIBUTES contém informações sobre os itens globais especificados para um controle HID que o analisador HID não reconheceu.
HIDP_GETCOLDESC_DBG

Contém o código de erro que indica a falha na análise do descritor de relatório. Essa estrutura é usada na chamada HidP_GetCollectionDescription.
HIDP_LINK_COLLECTION_NODE

A estrutura HIDP_LINK_COLLECTION_NODE contém informações sobre uma coleção de links na matriz de coleção de links de uma coleção de nível superior.
HIDP_REPORT_IDS

Contém informações de ID de relatório para uma coleção de nível superior.
HIDP_UNKNOWN_TOKEN

A estrutura HIDP_UNKNOWN_TOKEN contém informações sobre um item global que o analisador HID não reconheceu.
HIDP_VALUE_CAPS

A estrutura HIDP_VALUE_CAPS contém informações que descrevem a capacidade de um conjunto de valores de controle HID (um único uso ou um intervalo de uso).
HIDSPICX_DEVICE_CONFIG

Saiba mais sobre: HIDSPICX_DEVICE_CONFIG
HIDSPICX_DRIVER_GLOBALS

Saiba mais sobre: HIDSPICX_DRIVER_GLOBALS
HIDSPICX_REPORT

Saiba mais sobre: HIDSPICX_REPORT
INTERNAL_I8042_HOOK_KEYBOARD

INTERNAL_I8042_HOOK_KEYBOARD é usado pelo I8042prt para conectar rotinas opcionais de retorno de chamada que complementam a inicialização do teclado e o ISR do teclado. Os retornos de chamada podem ser fornecidos por um driver de filtro opcional, fornecido pelo fornecedor e de nível superior.
INTERNAL_I8042_HOOK_MOUSE

INTERNAL_I8042_HOOK_MOUSE é usado pelo I8042prt para conectar uma rotina de retorno de chamada opcional que complementa a operação do ISR do mouse. O retorno de chamada pode ser fornecido por um driver de filtro opcional, fornecido pelo fornecedor e de nível superior.
INTERNAL_I8042_START_INFORMATION

INTERNAL_I8042_START_INFORMATION especifica o objeto de interrupção que um driver de dispositivo de filtro de nível superior opcional fornecido pelo fornecedor pode usar para sincronizar sua operação com um ISR I8042prt.
OUTPUT_PACKET

OUTPUT_PACKET contém informações sobre os dados que estão sendo gravados em um dispositivo de teclado ou mouse pelo I8042prt.
USAGE_AND_PAGE

A estrutura USAGE_AND_PAGE especifica a página de uso e a ID de uso de um controle HID.
VHF_CONFIG

Contém informações de configuração iniciais fornecidas pelo driver de origem HID quando ele chama VhfCreate para criar um dispositivo HID virtual.