Устройства с человеческим интерфейсом (HID)

Общие сведения о технологии HID.

Для разработки устройств с человеческим интерфейсом (HID) вам потребуются следующие заголовки:

Руководство по программированию см. в разделе Human Interface Devices (HID).

Сведения о программных API Win32 HID см. в справочнике по устройствам Win32 Human Interface.

В этом разделе содержатся программные интерфейсы, связанные с устройствами интерфейса человека (или HID). Как правило, это устройства, которые люди используют для непосредственного управления работой компьютерных систем.

Подпрограммы поддержки HIDClass

Существуют системные подпрограммы, которые приложения пользовательского режима, драйверы режима ядра и мини-накопители HID используются для управления устройствами в классе настройки устройств HIDClass.

Как правило, приложения в пользовательском режиме могут использовать HidD_Xxx и HidP_Xxx подпрограммы. Однако драйверы режима ядра могут вызывать только HidP_Xxx подпрограммы.

Мини-накопители HID используют только подпрограмму HidRegisterMinidriver .

Для Windows 8.1 корпорация Майкрософт представила новый API Windows.Devices.HumanInterfaceDevice, который позволяет создавать приложения Для Windows, которые обращаются к устройствам HID.

Заголовок определяет ioCTL, которые должен поддерживать мини-накопитель HID. Только драйвер класса HID отправляет эти ICTL в мини-диск HID. Приложения в пользовательском режиме и другие драйверы режима ядра могут взаимодействовать с коллекциями HID только с помощью подпрограмм поддержки HIDClass и ICTL драйверов класса HID.

HID Minidriver IOCTLs

Мини-накопитель HID должен обрабатывать набор ioCTL. Только драйвер класса HID отправляет эти ICTL в мини-диск HID. Приложения в пользовательском режиме и другие драйверы режима ядра могут взаимодействовать с коллекциями HID только с помощью подпрограмм поддержки HIDClass и ICTL драйверов класса HID.

Раздел Описание
IOCTL_HID_ACTIVATE_DEVICE Запрос IOCTL_HID_ACTIVATE_DEVICE активирует устройство HIDClass, что делает его готовым к операциям ввода-вывода.
IOCTL_HID_DEACTIVATE_DEVICE Запрос IOCTL_HID_DEACTIVATE_DEVICE деактивирует устройство HIDClass, что приводит к остановке операций и завершению всех невыполненных запросов ввода-вывода.
IOCTL_HID_GET_DEVICE_ATTRIBUTES Запрос IOCTL_HID_GET_DEVICE_ATTRIBUTES получает атрибуты устройства HIDClass в HID_DEVICE_ATTRIBUTES структуре.
IOCTL_HID_GET_DEVICE_DESCRIPTOR Запрос IOCTL_HID_GET_DEVICE_DESCRIPTOR получает дескриптор HID устройства HIDClass.
IOCTL_HID_GET_REPORT_DESCRIPTOR Запрос IOCTL_HID_GET_REPORT_DESCRIPTOR получает дескриптор отчета для устройства HIDClass.
IOCTL_HID_GET_STRING Запрос IOCTL_HID_GET_STRING получает идентификатор производителя, код продукта или серийный номер для коллекции верхнего уровня. Полученная строка — это строка с широкими символами, заканчивающаяся NULL, в понятном для человека формате.
IOCTL_HID_READ_REPORT Запрос IOCTL_HID_READ_REPORT передает входной отчет с устройства HIDClass в буфер драйвера класса HID.
IOCTL_HID_WRITE_REPORT Запрос IOCTL_HID_WRITE_REPORT отправляет отчет HID на устройство HIDClass.
IOCTL_UMDF_GET_PHYSICAL_DESCRIPTOR Код элемента управления IOCTL_UMDF_GET_PHYSICAL_DESCRIPTOR получает физический дескриптор устройства HIDClass.
IOCTL_UMDF_HID_GET_FEATURE Код элемента управления IOCTL_UMDF_HID_GET_FEATURE получает отчет о функциях с устройства HIDClass.
IOCTL_UMDF_HID_GET_INPUT_REPORT Код элемента управления IOCTL_UMDF_HID_GET_INPUT_REPORT возвращает входной отчет с устройства HIDClass.
IOCTL_UMDF_HID_SET_FEATURE Код элемента управления IOCTL_UMDF_HID_GET_FEATURE отправляет отчет о функциях на устройство HIDClass.
IOCTL_UMDF_HID_SET_OUTPUT_REPORT Код элемента управления IOCTL_UMDF_HID_SET_OUTPUT_REPORT отправляет выходной отчет в коллекцию верхнего уровня.

Списки IOCTL для драйвера класса HID

Драйвер класса HID обрабатывает ioCTL для поддержки коллекций верхнего уровня.

Хотя пользовательские приложения могут взаимодействовать с драйвером класса HID с помощью HidD_Xxx подпрограмм поддержки HIDClass, драйверы режима ядра должны отправлять соответствующие запросы на управление устройствами, описанные в этом разделе.

Входные и выходные параметры зависят от запроса.

После завершения запроса члены блока состояния ввода-вывода задаются следующим образом:

Элемент Status задается драйвером класса HID для всех запросов, которые он обрабатывает.

Как описано для каждого IOCTL, элемент Information задается драйвером класса или драйвером более низкого уровня. Как правило, когда драйвер нижнего уровня передает данные с устройства или на устройство, драйвер нижнего уровня устанавливает для параметра Сведения количество переданных байтов. Однако драйвер класса HID может возвращать другое значение.

Раздел Описание
IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS Запрос IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS получает размер очереди входных отчетов для коллекции верхнего уровня.
IOCTL_GET_PHYSICAL_DESCRIPTOR Запрос IOCTL_GET_PHYSICAL_DESCRIPTOR получает физический дескриптор коллекции верхнего уровня.
IOCTL_HID_DEVICERESET_NOTIFICATION Запрос IOCTL_HID_DEVICERESET_NOTIFICATION отправляется драйвером клиента HID в драйвер класса HID, чтобы дождаться события сброса, инициированного устройством.
IOCTL_HID_DISABLE_SECURE_READ Запрос IOCTL_HID_DISABLE_SECURE_READ отменяет запрос IOCTL_HID_ENABLE_SECURE_READ для коллекции HID.
IOCTL_HID_ENABLE_SECURE_READ Запрос IOCTL_HID_ENABLE_SECURE_READ обеспечивает безопасное чтение открытых файлов коллекции HID.
IOCTL_HID_ENABLE_WAKE_ON_SX Запрос IOCTL_HID_ENABLE_WAKE_ON_SX используется для указания требования, чтобы устройство могло выйти из спящего режима.
IOCTL_HID_FLUSH_QUEUE Запрос IOCTL_HID_FLUSH_QUEUE выводит все непарные входные отчеты из очереди входных отчетов коллекции верхнего уровня.
IOCTL_HID_GET_COLLECTION_DESCRIPTOR Запрос IOCTL_HID_GET_COLLECTION_DESCRIPTOR получает предварительно подготовленные данные коллекции верхнего уровня, которые драйвер класса HID извлекает из дескриптора отчета физического устройства во время инициализации устройства.
IOCTL_HID_GET_COLLECTION_INFORMATION Запрос IOCTL_HID_GET_COLLECTION_INFORMATION получает структуру HID_COLLECTION_INFORMATION коллекции верхнего уровня.
IOCTL_HID_GET_DRIVER_CONFIG Запрос IOCTL_HID_GET_DRIVER_CONFIG извлекает конфигурацию драйвера.
IOCTL_HID_GET_FEATURE Запрос IOCTL_HID_GET_FEATURE возвращает отчет о функциях, связанный с коллекцией верхнего уровня.
IOCTL_HID_GET_HARDWARE_ID Запрос IOCTL_HID_GET_HARDWARE_ID получает идентификатор оборудования Plug and Play коллекции верхнего уровня.
IOCTL_HID_GET_INDEXED_STRING Запрос IOCTL_HID_GET_INDEXED_STRING получает указанную внедренную строку из коллекции верхнего уровня.
IOCTL_HID_GET_INPUT_REPORT Запрос IOCTL_HID_GET_INPUT_REPORT получает входной отчет из коллекции верхнего уровня.
IOCTL_HID_GET_MANUFACTURER_STRING Запрос IOCTL_HID_GET_MANUFACTURER_STRING получает внедренную строку коллекции верхнего уровня, которая идентифицирует производителя устройства.
IOCTL_HID_GET_MS_GENRE_DESCRIPTOR Запрос IOCTL_HID_GET_MS_GENRE_DESCRIPTOR используется для получения дескриптора жанра для устройства.
IOCTL_HID_GET_POLL_FREQUENCY_MSEC Запрос IOCTL_HID_GET_POLL_FREQUENCY_MSEC получает текущую частоту опроса (в миллисекундах) коллекции верхнего уровня.
IOCTL_HID_GET_PRODUCT_STRING Запрос IOCTL_HID_GET_PRODUCT_STRING получает внедренную строку коллекции верхнего уровня, которая идентифицирует продукт производителя. Полученная строка — это строка с широкими символами, заканчивающаяся NULL, в понятном для человека формате. Общие сведения об устройствах HIDClass см. в разделе Коллекции HID.
IOCTL_HID_GET_SERIALNUMBER_STRING Запрос IOCTL_HID_GET_SERIALNUMBER_STRING получает внедренную строку коллекции верхнего уровня, которая идентифицирует серийный номер устройства.
IOCTL_HID_SET_DRIVER_CONFIG Запрос IOCTL_HID_SET_DRIVER_CONFIG задает конфигурацию драйвера.
IOCTL_HID_SET_FEATURE Запрос IOCTL_HID_SET_FEATURE отправляет отчет о функциях в коллекцию верхнего уровня. Общие сведения об устройствах HIDClass см. в разделе Коллекции HID.
IOCTL_HID_SET_OUTPUT_REPORT Запрос IOCTL_HID_SET_OUTPUT_REPORT отправляет выходной отчет в коллекцию верхнего уровня.
IOCTL_HID_SET_POLL_FREQUENCY_MSEC Запрос IOCTL_HID_SET_POLL_FREQUENCY_MSEC задает частоту опроса (в миллисекундах) для коллекции верхнего уровня. Приложения пользовательского режима или драйверы в режиме ядра, которые выполняют нерегулярные оппортунистические операции чтения на опрашиваемом устройстве, должны предоставлять нулевой интервал опроса. В таких случаях IOCTL_HID_SET_POLL_FREQUENCY_MSEC фактически не изменяет частоту опроса устройства; но если данные отчета не устарели при чтении, чтение немедленно завершается с последними данными отчета для указанной коллекции. Если данные отчета устарели, они обновляются немедленно, не дожидаясь истечения интервала опроса, а чтение завершается с новыми данными. Если значение интервала опроса, указанного в IRP, не равно нулю, оно должно быть >равно = MIN_POLL_INTERVAL_MSEC и <= MAX_POLL_INTERVAL_MSEC. Опрос может быть ограничен при наличии нескольких коллекций верхнего уровня. Общие сведения об устройствах HIDClass см. в разделе Коллекции HID.
IOCTL_HID_SET_S0_IDLE_TIMEOUT Запрос IOCTL_HID_SET_S0_IDLE_TIMEOUT используется клиентом для информирования драйвера класса HID о предпочтительном значении времени ожидания простоя клиента.
IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS Запрос IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS задает количество буферов для очереди входных отчетов коллекции верхнего уровня. Каждая очередь входных отчетов реализуется в виде кольцевого буфера. Если коллекция передает данные драйверу класса HID быстрее, чем драйвер может считывать их, некоторые данные могут быть потеряны. Чтобы избежать такой потери, можно использовать запрос IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS для настройки количества буферов, содержащихся в очереди входных отчетов. Драйверу класса HID требуется как минимум два входных буфера. Максимальное число входных буферов, поддерживаемых драйвером класса HID, составляет 512. Число входных буферов по умолчанию — 32. Общие сведения об устройствах HIDClass см. в разделе Коллекции HID.

Зарезервировано для внутреннего использования в системе

В этом разделе в алфавитном порядке перечислены подпрограммы, структуры, типы перечисления и типы данных, связанные с HIDClass, которые зарезервированы для внутреннего системного использования.

  • 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

Тип перечисления DeviceObjectState зарезервирован для внутреннего системного использования.

enum DeviceObjectState {
  DeviceObjectStarted,
  DeviceObjectStopped,
  DeviceObjectRemoved
};

Заголовки, объявленные в Hidclass.h.

HID_DRIVER_CONFIG

Структура HID_DRIVER_CONFIG зарезервирована для использования внутри системы.

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

Заголовки, объявленные в Hidclass.h.

HID_INTERFACE_HIDPARSE

Структура HID_INTERFACE_HIDPARSE зарезервирована для использования во внутренней системе.

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

Заголовки, объявленные в Hidclass.h.

HID_INTERFACE_NOTIFY_PNP

Структура HID_INTERFACE_NOTIFY_PNP зарезервирована для внутреннего системного использования.

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;

Заголовки, объявленные в Hidclass.h.

HIDD_CONFIGURATION

Структура HIDD_CONFIGURATION зарезервирована для использования внутри системы.

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

Заголовки, объявленные в Hidsdi.h.

HidD_GetConfiguration

Подпрограмма HidD_GetConfiguration зарезервирована для внутреннего использования системы.

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

Заголовки, объявленные в Hidsdi.h.

HidD_GetMsGenreDescriptor

Подпрограмма HidD_GetMsGenreDescriptor зарезервирована для внутреннего системного использования.

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

Заголовки, объявленные в Hidsdi.h.

HidD_SetConfiguration

Подпрограмма HidD_SetConfiguration зарезервирована для внутреннего использования системы.

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

Заголовки, объявленные в Hidsdi.h.

HIDP_COLLECTION_DESC

Структура HIDP_COLLECTION_DESC зарезервирована для использования внутри системы.

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;

Заголовки, объявленные в Hidpddi.h.

HIDP_DEVICE_DESC

Структура HIDP_DEVICE_DESC зарезервирована для использования внутри системы.

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;

Заголовки, объявленные в Hidpddi.h.

HidP_FreeCollectionDescription

Подпрограмма HidP_FreeCollectionDescription зарезервирована для внутреннего системного использования.

VOID
HidP_FreeCollectionDescription(
    IN PHIDP_DEVICE_DESC  DeviceDescription
    );

Заголовки, объявленные в Hidpddi.h.

HIDP_GETCOLDESC_DBG

Структура HIDP_GETCOLDESC_DBG зарезервирована для внутреннего системного использования.

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

Заголовки, объявленные в Hidpddi.h.

HIDP_KEYBOARD_DIRECTION

Тип перечисления HIDP_KEYBOARD_DIRECTION зарезервирован для внутреннего системного использования.

typedef enum _HIDP_KEYBOARD_DIRECTION {
 HidP_Keyboard_Break,
 HidP_Keyboard_Make
} HIDP_KEYBOARD_DIRECTION;

Заголовки, объявленные в Hidpi.h.

HIDP_KEYBOARD_MODIFIER_STATE

Структура HIDP_KEYBOARD_MODIFIER_STATE зарезервирована для внутреннего использования системой.

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;

Заголовки, объявленные в Hidpi.h.

HIDP_REPORT_IDS

Структура HIDP_REPORT_IDS зарезервирована для использования внутри системы.

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

Заголовки, объявленные в Hidpddi.h.

HidP_SysPowerCaps

Подпрограмма HidP_SysPowerCaps зарезервирована для внутреннего использования системой.

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

Заголовки, объявленные в Hidpddi.h.

HidP_SysPowerEvent

Подпрограмма HidP_SysPowerEvent зарезервирована для внутреннего использования системой.

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

Заголовки, объявленные в Hidpddi.h.

HidP_TranslateUsageAndPagesToI8042ScanCodes

Подпрограмма HidP_TranslateUsageAndPagesToI8042ScanCodes зарезервирована для внутреннего использования системой.

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

Заголовки, объявленные в Hidpi.h.

PHID_STATUS_CHANGE

Подпрограмма PHID_STATUS_CHANGE зарезервирована для внутреннего использования системой.

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

Заголовки, объявленные в Hidclass.h.

PHIDP_INSERT_SCANCODES

Подпрограмма PHIDP_INSERT_SCANCODES зарезервирована для внутреннего использования системой.

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

Заголовки, объявленные в Hidpi.h.

PHIDP_REPORT_DESCRIPTOR

Тип данных PHIDP_REPORT_DESCRIPTOR зарезервирован для внутреннего использования системой.

typedef PUCHAR  PHIDP_REPORT_DESCRIPTOR;

Заголовки, объявленные в Hidpi.h.

Функции обратного вызова

Заголовок Описание
EVT_VHF_ASYNC_OPERATION Драйвер источника HID реализует этот обратный вызов события, если он хочет поддерживать одну из четырех асинхронных операций для получения и настройки отчетов HID.
EVT_VHF_CLEANUP Драйвер источника HID реализует этот обратный вызов события для свободных ресурсов, которые могут быть выделены драйвером для виртуального устройства HID.
EVT_VHF_READY_FOR_NEXT_READ_REPORT Драйвер источника HID реализует эту функцию обратного вызова событий, чтобы использовать схему буферизации для входных отчетов HID и хочет получать уведомления о том, когда следующий отчет можно отправить в VHF.
PHIDP_GETCAPS Подпрограмма HidP_GetCaps возвращает структуру HIDP_CAPS коллекции верхнего уровня.
PI8042_ISR_WRITE_PORT Подпрограмма обратного вызова с PI8042_ISR_WRITE_PORT типом записывает данные в порт i8042. I8042prt предоставляет этот обратный вызов.
PI8042_KEYBOARD_INITIALIZATION_ROUTINE PI8042_KEYBOARD_INITIALIZATION_ROUTINE типизация процедуры обратного вызова дополняет инициализацию устройства клавиатуры по умолчанию с помощью I8042prt.
PI8042_KEYBOARD_ISR Подпрограмма обратного вызова с PI8042_KEYBOARD_ISR типом настраивает работу ISR клавиатуры I8042prt.
PI8042_MOUSE_ISR Подпрограмма обратного вызова с PI8042_MOUSE_ISR типом настраивает работу isR мыши I8042prt.
PI8042_QUEUE_PACKET PI8042_QUEUE_PACKET типизированный подпрограмма обратного вызова помещает в очередь пакет входных данных для обработки с помощью ISR DPC клавиатуры или мыши. I8042prt предоставляет этот обратный вызов.
PI8042_SYNCH_READ_PORT Подпрограмма обратного вызова с типом PI8042_SYNCH_READ_PORT выполняет синхронизированное чтение из порта i8042. I8042prt предоставляет этот обратный вызов.
PI8042_SYNCH_WRITE_PORT Подпрограмма обратного вызова с типом PI8042_SYNCH_READ_PORT выполняет синхронизированную запись на порт i8042. I8042prt поставляет эту процедуру.
PSERVICE_CALLBACK_ROUTINE Драйвер функции вызывает обратный вызов службы класса в подпрограмме завершения диспетчеризации ISR. Обратный вызов службы класса передает входные данные из буфера входных данных устройства в очередь данных класса.

Коды элементов управления вводом-выводом

Заголовок Описание
IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS IOCTL Запрос IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS получает размер очереди входных отчетов для коллекции верхнего уровня.
IOCTL_GET_PHYSICAL_DESCRIPTOR IOCTL Запрос IOCTL_GET_PHYSICAL_DESCRIPTOR получает физический дескриптор коллекции верхнего уровня. Для мини-драйвера этот дескриптор является дескриптором устройства HIDClass.
IOCTL_HID_ACTIVATE_DEVICE IOCTL Запрос IOCTL_HID_ACTIVATE_DEVICE активирует устройство HIDClass, что делает его готовым к операциям ввода-вывода.
IOCTL_HID_DEACTIVATE_DEVICE IOCTL Запрос IOCTL_HID_DEACTIVATE_DEVICE деактивирует устройство HIDClass, что приводит к остановке операций и завершению всех невыполненных запросов ввода-вывода.
IOCTL_HID_DEVICERESET_NOTIFICATION IOCTL IOCTL_HID_DEVICERESET_NOTIFICATION запрос отправляется драйвером клиента HID в драйвер класса HID, чтобы дождаться события сброса, инициированного устройством.
IOCTL_HID_DISABLE_SECURE_READ IOCTL Запрос IOCTL_HID_DISABLE_SECURE_READ отменяет IOCTL_HID_ENABLE_SECURE_READ запрос на коллекцию HID.
IOCTL_HID_ENABLE_SECURE_READ IOCTL Запрос IOCTL_HID_ENABLE_SECURE_READ обеспечивает безопасное чтение открытых файлов коллекции HID.
IOCTL_HID_ENABLE_WAKE_ON_SX IOCTL Запрос IOCTL_HID_ENABLE_WAKE_ON_SX используется для указания требования к выходу устройства из спящего режима.
IOCTL_HID_FLUSH_QUEUE IOCTL Запрос IOCTL_HID_FLUSH_QUEUE выводит все непарированные входные отчеты из очереди входных отчетов коллекции верхнего уровня.
IOCTL_HID_GET_COLLECTION_DESCRIPTOR IOCTL Запрос IOCTL_HID_GET_COLLECTION_DESCRIPTOR получает предварительно подготовленные данные коллекции верхнего уровня, которые драйвер класса HID извлекает из дескриптора отчета физического устройства во время инициализации устройства.
IOCTL_HID_GET_COLLECTION_INFORMATION IOCTL Запрос IOCTL_HID_GET_COLLECTION_INFORMATION получает структуру HID_COLLECTION_INFORMATION коллекции верхнего уровня.
IOCTL_HID_GET_DEVICE_ATTRIBUTES IOCTL Запрос IOCTL_HID_GET_DEVICE_ATTRIBUTES получает атрибуты устройства HIDClass в HID_DEVICE_ATTRIBUTES структуре.
IOCTL_HID_GET_DEVICE_DESCRIPTOR IOCTL Запрос IOCTL_HID_GET_DEVICE_DESCRIPTOR получает дескриптор HID Устройства HIDClass.
IOCTL_HID_GET_DRIVER_CONFIG IOCTL Запрос IOCTL_HID_GET_DRIVER_CONFIG получает конфигурацию драйвера.
IOCTL_HID_GET_FEATURE IOCTL Запрос IOCTL_HID_GET_FEATURE возвращает отчет о функциях, связанный с коллекцией верхнего уровня.
IOCTL_HID_GET_HARDWARE_ID IOCTL Запрос IOCTL_HID_GET_HARDWARE_ID получает идентификатор оборудования Plug and Play коллекции верхнего уровня.
IOCTL_HID_GET_INDEXED_STRING IOCTL Запрос IOCTL_HID_GET_INDEXED_STRING получает указанную внедренную строку из коллекции верхнего уровня.
IOCTL_HID_GET_INPUT_REPORT IOCTL Запрос IOCTL_HID_GET_INPUT_REPORT получает входной отчет из коллекции верхнего уровня.
IOCTL_HID_GET_MANUFACTURER_STRING IOCTL Запрос IOCTL_HID_GET_MANUFACTURER_STRING получает внедренную строку коллекции верхнего уровня, которая идентифицирует изготовителя устройства.
IOCTL_HID_GET_MS_GENRE_DESCRIPTOR IOCTL Запрос IOCTL_HID_GET_MS_GENRE_DESCRIPTOR используется для получения дескриптора жанра для устройства.
IOCTL_HID_GET_POLL_FREQUENCY_MSEC IOCTL Запрос IOCTL_HID_GET_POLL_FREQUENCY_MSEC получает текущую частоту опроса (в миллисекундах) коллекции верхнего уровня.
IOCTL_HID_GET_PRODUCT_STRING IOCTL Запрос IOCTL_HID_GET_PRODUCT_STRING получает внедренную строку коллекции верхнего уровня, которая идентифицирует продукт производителя. Полученная строка — это строка с широкими символами, заканчивающаяся NULL, в понятном для человека формате.
IOCTL_HID_GET_REPORT_DESCRIPTOR IOCTL Запрос IOCTL_HID_GET_REPORT_DESCRIPTOR получает дескриптор отчета для устройства HIDClass.
IOCTL_HID_GET_SERIALNUMBER_STRING IOCTL Запрос IOCTL_HID_GET_SERIALNUMBER_STRING получает внедренную строку коллекции верхнего уровня, которая идентифицирует серийный номер устройства.
IOCTL_HID_GET_STRING IOCTL Запрос IOCTL_HID_GET_STRING получает идентификатор производителя, код продукта или серийный номер для коллекции верхнего уровня. Полученная строка — это строка с широкими символами, заканчивающаяся NULL, в понятном для человека формате.
IOCTL_HID_READ_REPORT IOCTL Запрос IOCTL_HID_READ_REPORT передает входной отчет с устройства HIDClass в буфер драйвера класса HID.
IOCTL_HID_SEND_IDLE_NOTIFICATION_REQUEST IOCTL Код управления IOCTL_HID_SEND_IDLE_NOTIFICATION_REQUEST — это IOCTL запроса на уведомление о простое IRP, который HIDClass отправляет мини-драйверам HID, например HIDUSB, чтобы сообщить водителю автобуса о том, что устройство теперь простаивает.
IOCTL_HID_SET_DRIVER_CONFIG IOCTL Запрос IOCTL_HID_SET_DRIVER_CONFIG задает конфигурацию драйвера.
IOCTL_HID_SET_FEATURE IOCTL Запрос IOCTL_HID_SET_FEATURE отправляет отчет о функциях в коллекцию верхнего уровня.
IOCTL_HID_SET_OUTPUT_REPORT IOCTL Запрос IOCTL_HID_SET_OUTPUT_REPORT отправляет выходной отчет в коллекцию верхнего уровня.
IOCTL_HID_SET_POLL_FREQUENCY_MSEC IOCTL Запрос IOCTL_HID_SET_POLL_FREQUENCY_MSEC задает частоту опроса (в миллисекундах) для коллекции верхнего уровня.
IOCTL_HID_SET_S0_IDLE_TIMEOUT IOCTL Запрос IOCTL_HID_SET_S0_IDLE_TIMEOUT используется клиентом для информирования драйвера класса HID о предпочтительном значении времени ожидания простоя клиента.
IOCTL_HID_WRITE_REPORT IOCTL Запрос IOCTL_HID_WRITE_REPORT отправляет отчет HID на устройство HIDClass.
IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER IOCTL Запрос IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER не поддерживается.
IOCTL_INTERNAL_I8042_HOOK_KEYBOARD IOCTL Запрос IOCTL_INTERNAL_I8042_HOOK_KEYBOARD выполняет следующие действия.
IOCTL_INTERNAL_I8042_HOOK_MOUSE IOCTL Запрос IOCTL_INTERNAL_I8042_HOOK_MOUSE добавляет подпрограмму обратного вызова ISR в isR мыши I8042prt.
IOCTL_INTERNAL_I8042_KEYBOARD_START_INFORMATION IOCTL Запрос IOCTL_INTERNAL_I8042_KEYBOARD_START_INFORMATION передает указатель на объект прерывания клавиатуры.
IOCTL_INTERNAL_I8042_KEYBOARD_WRITE_BUFFER IOCTL Запрос IOCTL_INTERNAL_I8042_KEYBOARD_WRITE_BUFFER записывает данные на контроллер порта i8042 для управления работой устройства клавиатуры.
IOCTL_INTERNAL_I8042_MOUSE_START_INFORMATION IOCTL Запрос IOCTL_INTERNAL_I8042_MOUSE_START_INFORMATION передает указатель на объект прерывания мыши.
IOCTL_INTERNAL_I8042_MOUSE_WRITE_BUFFER IOCTL Запрос IOCTL_INTERNAL_I8042_MOUSE_WRITE_BUFFER записывает данные на контроллер порта i8042 для управления работой устройства мыши.
IOCTL_INTERNAL_KEYBOARD_CONNECT IOCTL Запрос IOCTL_INTERNAL_KEYBOARD_CONNECT подключает службу Kbdclass к устройству клавиатуры.
IOCTL_INTERNAL_KEYBOARD_DISCONNECT IOCTL Запрос IOCTL_INTERNAL_KEYBOARD_DISCONNECT завершается с состоянием STATUS_NOT_IMPLEMENTED. Обратите внимание, что с помощью диспетчера Plug and Play можно добавить или удалить клавиатуру Plug and Play.
IOCTL_INTERNAL_MOUSE_CONNECT IOCTL Запрос IOCTL_INTERNAL_MOUSE_CONNECT подключает службу Mouclass к устройству с мышью.
IOCTL_INTERNAL_MOUSE_DISCONNECT IOCTL Запрос IOCTL_INTERNAL_MOUSE_DISCONNECT выполняется Moufiltr с состоянием ошибки STATUS_NOT_IMPLEMENTED.
IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS IOCTL Запрос IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS задает количество буферов для очереди входных отчетов коллекции верхнего уровня.
IOCTL_UMDF_GET_PHYSICAL_DESCRIPTOR IOCTL Код элемента управления IOCTL_UMDF_GET_PHYSICAL_DESCRIPTOR получает физический дескриптор устройства HIDClass.
IOCTL_UMDF_HID_GET_FEATURE IOCTL Код элемента управления IOCTL_UMDF_HID_GET_FEATURE получает отчет о функциях с устройства HIDClass.
IOCTL_UMDF_HID_GET_INPUT_REPORT IOCTL Код элемента управления IOCTL_UMDF_HID_GET_INPUT_REPORT возвращает входной отчет с устройства HIDClass.
IOCTL_UMDF_HID_SET_FEATURE IOCTL Код элемента управления IOCTL_UMDF_HID_GET_FEATURE отправляет отчет о функциях на устройство HIDClass.
IOCTL_UMDF_HID_SET_OUTPUT_REPORT IOCTL Код элемента управления IOCTL_UMDF_HID_SET_OUTPUT_REPORT отправляет выходной отчет в коллекцию верхнего уровня.

Функции IOCTL

 
IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS

Запрос IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS получает размер очереди входных отчетов для коллекции верхнего уровня.
IOCTL_GET_PHYSICAL_DESCRIPTOR

Запрос IOCTL_GET_PHYSICAL_DESCRIPTOR получает физический дескриптор коллекции верхнего уровня. Для мини-накопителя этот дескриптор является дескриптором устройства HIDClass.
IOCTL_HID_ACTIVATE_DEVICE

Запрос IOCTL_HID_ACTIVATE_DEVICE активирует устройство HIDClass, что делает его готовым к операциям ввода-вывода.
IOCTL_HID_DEACTIVATE_DEVICE

Запрос IOCTL_HID_DEACTIVATE_DEVICE деактивирует устройство HIDClass, что приводит к остановке операций и завершению всех невыполненных запросов ввода-вывода.
IOCTL_HID_DEVICERESET_NOTIFICATION

Запрос IOCTL_HID_DEVICERESET_NOTIFICATION отправляется драйвером клиента HID в драйвер класса HID, чтобы дождаться события сброса, инициированного устройством.
IOCTL_HID_DISABLE_SECURE_READ

Запрос IOCTL_HID_DISABLE_SECURE_READ отменяет запрос IOCTL_HID_ENABLE_SECURE_READ для коллекции HID.
IOCTL_HID_ENABLE_SECURE_READ

Запрос IOCTL_HID_ENABLE_SECURE_READ обеспечивает безопасное чтение открытых файлов коллекции HID.
IOCTL_HID_ENABLE_WAKE_ON_SX

Запрос IOCTL_HID_ENABLE_WAKE_ON_SX используется для указания требования, чтобы устройство могло выйти из спящего режима.
IOCTL_HID_FLUSH_QUEUE

Запрос IOCTL_HID_FLUSH_QUEUE выводит все непарные входные отчеты из очереди входных отчетов коллекции верхнего уровня.
IOCTL_HID_GET_COLLECTION_DESCRIPTOR

Запрос IOCTL_HID_GET_COLLECTION_DESCRIPTOR получает предварительно подготовленные данные коллекции верхнего уровня, которые драйвер класса HID извлекает из дескриптора отчета физического устройства во время инициализации устройства.
IOCTL_HID_GET_COLLECTION_INFORMATION

Запрос IOCTL_HID_GET_COLLECTION_INFORMATION получает структуру HID_COLLECTION_INFORMATION коллекции верхнего уровня.
IOCTL_HID_GET_DEVICE_ATTRIBUTES

Запрос IOCTL_HID_GET_DEVICE_ATTRIBUTES получает атрибуты устройства HIDClass в HID_DEVICE_ATTRIBUTES структуре.
IOCTL_HID_GET_DEVICE_DESCRIPTOR

Запрос IOCTL_HID_GET_DEVICE_DESCRIPTOR получает дескриптор HID устройства HIDClass.
IOCTL_HID_GET_DRIVER_CONFIG

Запрос IOCTL_HID_GET_DRIVER_CONFIG извлекает конфигурацию драйвера.
IOCTL_HID_GET_FEATURE

Запрос IOCTL_HID_GET_FEATURE возвращает отчет о функциях, связанный с коллекцией верхнего уровня.
IOCTL_HID_GET_HARDWARE_ID

Запрос IOCTL_HID_GET_HARDWARE_ID получает идентификатор оборудования Plug and Play коллекции верхнего уровня.
IOCTL_HID_GET_INDEXED_STRING

Запрос IOCTL_HID_GET_INDEXED_STRING получает указанную внедренную строку из коллекции верхнего уровня.
IOCTL_HID_GET_INPUT_REPORT

Запрос IOCTL_HID_GET_INPUT_REPORT получает входной отчет из коллекции верхнего уровня.
IOCTL_HID_GET_MANUFACTURER_STRING

Запрос IOCTL_HID_GET_MANUFACTURER_STRING получает внедренную строку коллекции верхнего уровня, которая идентифицирует изготовителя устройства.
IOCTL_HID_GET_MS_GENRE_DESCRIPTOR

Запрос IOCTL_HID_GET_MS_GENRE_DESCRIPTOR используется для получения дескриптора жанра для устройства.
IOCTL_HID_GET_POLL_FREQUENCY_MSEC

Запрос IOCTL_HID_GET_POLL_FREQUENCY_MSEC получает текущую частоту опроса (в миллисекундах) коллекции верхнего уровня.
IOCTL_HID_GET_PRODUCT_STRING

Запрос IOCTL_HID_GET_PRODUCT_STRING получает внедренную строку коллекции верхнего уровня, которая идентифицирует продукт производителя. Полученная строка представляет собой строку расширенных символов, завершаемую null, в удобочитаемом формате.
IOCTL_HID_GET_REPORT_DESCRIPTOR

Запрос IOCTL_HID_GET_REPORT_DESCRIPTOR получает дескриптор отчета для устройства HIDClass.
IOCTL_HID_GET_SERIALNUMBER_STRING

Запрос IOCTL_HID_GET_SERIALNUMBER_STRING получает внедренную строку коллекции верхнего уровня, которая идентифицирует серийный номер устройства.
IOCTL_HID_GET_STRING

Запрос IOCTL_HID_GET_STRING получает идентификатор производителя, код продукта или серийный номер для коллекции верхнего уровня. Полученная строка представляет собой строку расширенных символов, завершаемую null, в удобочитаемом формате.
IOCTL_HID_READ_REPORT

Запрос IOCTL_HID_READ_REPORT передает входной отчет с устройства HIDClass в буфер драйвера класса HID.
IOCTL_HID_SEND_IDLE_NOTIFICATION_REQUEST

Код управления IOCTL_HID_SEND_IDLE_NOTIFICATION_REQUEST — это IOCTL IRP запроса на уведомление о простое, который HIDClass отправляет мини-драйверам HID, например HIDUSB, чтобы сообщить водителю шины о том, что устройство теперь находится в режиме простоя.
IOCTL_HID_SET_DRIVER_CONFIG

Запрос IOCTL_HID_SET_DRIVER_CONFIG задает конфигурацию драйвера.
IOCTL_HID_SET_FEATURE

Запрос IOCTL_HID_SET_FEATURE отправляет отчет о функциях в коллекцию верхнего уровня.
IOCTL_HID_SET_OUTPUT_REPORT

Запрос IOCTL_HID_SET_OUTPUT_REPORT отправляет выходной отчет в коллекцию верхнего уровня.
IOCTL_HID_SET_POLL_FREQUENCY_MSEC

Запрос IOCTL_HID_SET_POLL_FREQUENCY_MSEC задает частоту опроса (в миллисекундах) для коллекции верхнего уровня.
IOCTL_HID_SET_S0_IDLE_TIMEOUT

Запрос IOCTL_HID_SET_S0_IDLE_TIMEOUT используется клиентом для информирования драйвера класса HID о предпочтительном значении времени ожидания простоя клиента.
IOCTL_HID_WRITE_REPORT

Запрос IOCTL_HID_WRITE_REPORT отправляет отчет HID на устройство HIDClass.
IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER

Запрос IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER не поддерживается.
IOCTL_INTERNAL_I8042_HOOK_KEYBOARD

Запрос IOCTL_INTERNAL_I8042_HOOK_KEYBOARD выполняет следующее:добавляет подпрограмму обратного вызова инициализации инициализации клавиатуры I8042prtДобавление подпрограммы обратного вызова ISR в интерфейс ISR клавиатуры I8042prtЗапись и обратные вызовы ISR являются необязательными и предоставляются драйвером фильтра верхнего уровня для клавиатурного устройства в стиле PS/2. Когда I8042prt получает запрос IOCTL_INTERNAL_KEYBOARD_CONNECT, он отправляет синхронный запрос IOCTL_INTERNAL_I8042_HOOK_KEYBOARD в верхнюю часть стека клавиатурных устройств. После того как Kbfiltr получит запрос клавиатуры перехватчика, Kbfiltr фильтрует запрос следующим образом:Сохраняет сведения верхнего уровня, переданные в Kbfiltr, который включает контекст объекта устройства верхнего уровня, указатель на обратный вызов инициализации и указатель на обратный вызов ISRВосползание сведений верхнего уровня с его собственнымисохранения контекст I8042prt и указатели на обратные вызовы, которые может использовать обратный вызов Kbfiltr ISRДля дополнительных сведений об этом запросе и обратных вызовах, см. следующие разделы:Процедуры обратного вызова I8042prtKbfiltr Процедуры обратного вызова.
IOCTL_INTERNAL_I8042_HOOK_MOUSE

Запрос IOCTL_INTERNAL_I8042_HOOK_MOUSE добавляет подпрограмму обратного вызова ISR в ISR мыши I8042prt.
IOCTL_INTERNAL_I8042_KEYBOARD_START_INFORMATION

Запрос IOCTL_INTERNAL_I8042_KEYBOARD_START_INFORMATION передает указатель на объект прерывания клавиатуры.
IOCTL_INTERNAL_I8042_KEYBOARD_WRITE_BUFFER

Запрос IOCTL_INTERNAL_I8042_KEYBOARD_WRITE_BUFFER записывает данные в контроллер порта i8042 для управления работой клавиатурного устройства.
IOCTL_INTERNAL_I8042_MOUSE_START_INFORMATION

Запрос IOCTL_INTERNAL_I8042_MOUSE_START_INFORMATION передает указатель на объект прерывания мыши.
IOCTL_INTERNAL_I8042_MOUSE_WRITE_BUFFER

Запрос IOCTL_INTERNAL_I8042_MOUSE_WRITE_BUFFER записывает данные в контроллер порта i8042 для управления работой устройства мыши.
IOCTL_INTERNAL_KEYBOARD_CONNECT

Запрос IOCTL_INTERNAL_KEYBOARD_CONNECT подключает службу Kbdclass к устройству клавиатуры.
IOCTL_INTERNAL_KEYBOARD_DISCONNECT

Запрос IOCTL_INTERNAL_KEYBOARD_DISCONNECT завершается с состоянием STATUS_NOT_IMPLEMENTED. Обратите внимание, что диспетчер Plug and Play может добавить или удалить клавиатуру Plug and Play.
IOCTL_INTERNAL_MOUSE_CONNECT

Запрос IOCTL_INTERNAL_MOUSE_CONNECT подключает службу Mouclass к устройству мыши.
IOCTL_INTERNAL_MOUSE_DISCONNECT

Запрос IOCTL_INTERNAL_MOUSE_DISCONNECT выполняется Moufiltr с состоянием ошибки STATUS_NOT_IMPLEMENTED.
IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS

Запрос IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS задает количество буферов для очереди входных отчетов коллекции верхнего уровня.
IOCTL_UMDF_GET_PHYSICAL_DESCRIPTOR

Код элемента управления IOCTL_UMDF_GET_PHYSICAL_DESCRIPTOR получает физический дескриптор устройства HIDClass.
IOCTL_UMDF_HID_GET_FEATURE

Код элемента управления IOCTL_UMDF_HID_GET_FEATURE получает отчет о функциях с устройства HIDClass.
IOCTL_UMDF_HID_GET_INPUT_REPORT

Код элемента управления IOCTL_UMDF_HID_GET_INPUT_REPORT возвращает входной отчет с устройства HIDClass.
IOCTL_UMDF_HID_SET_FEATURE

Код элемента управления IOCTL_UMDF_HID_GET_FEATURE отправляет отчет о функциях на устройство HIDClass.
IOCTL_UMDF_HID_SET_OUTPUT_REPORT

Управляющий код IOCTL_UMDF_HID_SET_OUTPUT_REPORT отправляет выходной отчет в коллекцию верхнего уровня.

Перечисления

 
HIDP_REPORT_TYPE

Тип перечисления HIDP_REPORT_TYPE используется для указания типа отчета HID.
KEYBOARD_SCAN_STATE

Тип перечисления KEYBOARD_SCAN_STATE указывает состояние сканирования входного байта с клавиатуры.
MOUSE_STATE

Тип перечисления MOUSE_STATE определяет текущее состояние входных данных с мыши.

Функции

 
EVT_HIDSPICX_NOTIFY_POWERDOWN

Дополнительные сведения: EVT_HIDSPICX_NOTIFY_POWERDOWN
EVT_HIDSPICX_RESETDEVICE

Дополнительные сведения: EVT_HIDSPICX_RESETDEVICE
EVT_VHF_ASYNC_OPERATION

Драйвер источника HID реализует этот обратный вызов события, если он хочет поддерживать одну из четырех асинхронных операций для получения и настройки отчетов HID.
EVT_VHF_CLEANUP

Драйвер источника HID реализует этот обратный вызов события для свободных ресурсов, которые могут быть выделены драйвером для виртуального устройства HID.
EVT_VHF_READY_FOR_NEXT_READ_REPORT

Драйвер источника HID реализует эту функцию обратного вызова событий, чтобы использовать схему буферизации для входных отчетов HID и хочет получать уведомления о том, когда следующий отчет можно отправить в VHF.
HidD_FlushQueue

Подпрограмма HidD_FlushQueue удаляет все ожидающие входные отчеты во входной очереди коллекции верхнего уровня.
HidD_FreePreparsedData

Подпрограмма HidD_FreePreparsedData освобождает ресурсы, выделенные драйвером класса HID для хранения подготовленных данных коллекции верхнего уровня.
HidD_GetAttributes

Подпрограмма HidD_GetAttributes возвращает атрибуты указанной коллекции верхнего уровня.
HidD_GetFeature

Подпрограмма HidD_GetFeature возвращает отчет о функциях из указанной коллекции верхнего уровня.
HidD_GetHidGuid

Подпрограмма HidD_GetHidGuid возвращает интерфейс устройстваGUID для устройств HIDClass.
HidD_GetIndexedString

Подпрограмма HidD_GetIndexedString возвращает указанную внедренную строку из коллекции верхнего уровня.
HidD_GetInputReport

Подпрограмма HidD_GetInputReport возвращает входные отчеты из коллекции верхнего уровня.
HidD_GetManufacturerString

Подпрограмма HidD_GetManufacturerString возвращает внедренную строку коллекции верхнего уровня, которая идентифицирует производителя.
HidD_GetNumInputBuffers

Подпрограмма HidD_GetNumInputBuffers возвращает текущий размер (в количестве отчетов) кольцевого буфера, который драйвер класса HID использует для постановки в очередь входных отчетов из указанной коллекции верхнего уровня.
HidD_GetPhysicalDescriptor

Подпрограмма HidD_GetPhysicalDescriptor возвращает внедренную строку коллекции верхнего уровня, которая идентифицирует физическое устройство коллекции.
HidD_GetPreparsedData

Подпрограмма HidD_GetPreparsedData возвращает подготовленные данные коллекции верхнего уровня.
HidD_GetProductString

Подпрограмма HidD_GetProductString возвращает внедренную строку коллекции верхнего уровня, которая идентифицирует продукт производителя.
HidD_GetSerialNumberString

Подпрограмма HidD_GetSerialNumberString возвращает внедренную строку коллекции верхнего уровня, которая определяет серийный номер физического устройства коллекции.
HidD_SetFeature

Подпрограмма HidD_SetFeature отправляет отчет о функциях в коллекцию верхнего уровня.
HidD_SetNumInputBuffers

Подпрограмма HidD_SetNumInputBuffers задает максимальное количество входных отчетов, которое может храниться в кольцевом буфере драйвера класса HID для указанной коллекции верхнего уровня.
HidD_SetOutputReport

Подпрограмма HidD_SetOutputReport отправляет выходной отчет в коллекцию верхнего уровня.
HidP_GetButtonArray

HidP_GetButtonArray возвращает массив HIDP_BUTTON_ARRAY_DATA структур для указанного отчета.
HidP_GetButtonCaps

Подпрограмма HidP_GetButtonCaps возвращает массив возможностей кнопок, который описывает все управляющие кнопки HID в коллекции верхнего уровня для указанного типа отчета HID.
HidP_GetButtons

Макрос HidP_GetButtons является мнемоническим псевдонимом для функции HHidP_GetUsages.
HidP_GetButtonsEx

Макрос HidP_GetButtonsEx является мнемоническим псевдонимом для функции HidP_GetUsagesEx.
HidP_GetCaps

Подпрограмма HidP_GetCaps возвращает структуру HIDP_CAPS коллекции верхнего уровня. Эта процедура находится в hidpi.h.
HidP_GetCollectionDescription

Заполняет блок описания устройства описанием коллекции и соответствующими сведениями об идентификаторе отчета для указанного дескриптора отчета.
HidP_GetData

Подпрограмма HidP_GetData возвращает для указанного отчета массив HIDP_DATA структур, определяющих индексы данных всех кнопок элемента управления HID, которые в настоящее время имеют значение ON (1), а также индексы данных и данные, связанные со всеми значениями элемента управления HID.
HidP_GetExtendedAttributes

Подпрограмма HidP_GetExtendedAttributes возвращает расширенные атрибуты элемента управления HID.
HidP_GetLinkCollectionNodes

Подпрограмма HidP_GetLinkCollectionNodes возвращает массив ссылок коллекции верхнего уровня.
HidP_GetScaledUsageValue

Подпрограмма HidP_GetScaledUsageValue возвращает подписанный и масштабируемый результат значения элемента управления HID, извлеченного из отчета HID.
HidP_GetSpecificButtonCaps

Подпрограмма HidP_GetSpecificButtonCaps возвращает массив возможностей кнопок, описывающий все управляющие кнопки HID в коллекции верхнего уровня, соответствующие заданным критериям выбора.
HidP_GetSpecificValueCaps

Подпрограмма HidP_GetSpecificValueCaps возвращает массив возможностей значений, описывающий все значения элемента управления HID, соответствующие заданным критериям выбора.
HidP_GetUsages

Подпрограмма HidP_GetUsages возвращает список всех кнопок управления HID, которые находятся на указанной странице использования и имеют значение ON в отчете HID.
HidP_GetUsagesEx

Подпрограмма HidP_GetUsagesEx возвращает список всех кнопок управления HID, для которых в отчете HID задано значение ON.
HidP_GetUsageValue

Подпрограмма HidP_GetUsageValue извлекает данные, связанные со значением элемента управления HID, которое соответствует критериям выбора в отчете HID.
HidP_GetUsageValueArray

Подпрограмма HidP_GetUsageValueArray извлекает данные, связанные с массивом значений использования элемента управления HID, из отчета HID.
HidP_GetValueCaps

Подпрограмма HidP_GetValueCaps возвращает массив возможностей значений, который описывает все значения элементов управления HID в коллекции верхнего уровня для указанного типа отчета HID.
HidP_GetVersion

Функция HidP_GetVersion — это реализация только для заголовков, которая возвращает версию API HID.
HidP_InitializeReportForID

Подпрограмма HidP_InitializeReportForID инициализирует отчет HID.
HidP_MaxDataListLength

Подпрограмма HidP_MaxDataListLength возвращает максимальное число HIDP_DATA структур, которые HidP_GetData могут возвращать для указанного типа отчета HID и указанной коллекции верхнего уровня.
HidP_MaxUsageListLength

Подпрограмма HidP_MaxUsageListLength возвращает максимальное количество использования HID, которое HidP_GetUsages может вернуть для указанного типа отчета HID и указанной коллекции верхнего уровня.
HidP_SetButtonArray

Функция HidP_SetButtonArray задает состояние кнопок с помощью массива структур HIDP_BUTTON_ARRAY_DATA.
HidP_SetButtons

Макрос HidP_SetButtons является мнемоническим псевдонимом для функции HidP_SetUsages.
HidP_SetData

Подпрограмма HidP_SetData задает в отчете HID указанный набор кнопок управления HID и значений.
HidP_SetScaledUsageValue

Подпрограмма HidP_SetScaledUsageValue преобразует подписанный и масштабируемый физический номер в логическое значение использования HID и задает значение использования в указанном отчете HID.
HidP_SetUsages

Подпрограмма HidP_SetUsages задает указанные управляющие кнопки HID ON (1) в отчете HID.
HidP_SetUsageValue

Подпрограмма HidP_SetUsageValue задает значение элемента управления HID в указанном отчете HID.
HidP_SetUsageValueArray

Подпрограмма HidP_SetUsageValueArray задает массив значений использования элемента управления HID в указанном отчете HID.
HidP_TranslateUsagesToI8042ScanCodes

Подпрограмма HidP_TranslateUsagesToI8042ScanCodes сопоставляет список использования HID на странице HID_USAGE_PAGE_KEYBOARD использования с соответствующими кодами сканирования PS/2 (набор кода сканирования 1).
HidP_UnsetButtons

Макрос HidP_UnsetButtons является мнемоническим псевдонимом для функции HidP_UnsetUsages.
HidP_UnsetUsages

Подпрограмма HidP_UnsetUsages устанавливает в отчете HID указанные значения использования кнопок управления HID OFF (ноль).
HidP_UsageAndPageListDifference

Функция HidP_UsageAndPageListDifference возвращает разницу между двумя списками использования.
HidP_UsageListDifference

Подпрограмма HidP_UsageListDifference возвращает различия между двумя массивами использования HID.
HidRegisterMinidriver

Подпрограмма HidRegisterMinidriver вызывается мини-накопителями HID во время их инициализации для регистрации в драйвере класса HID.
HIDSPICX_DEVICE_CONFIG_INIT

Дополнительные сведения: HIDSPICX_DEVICE_CONFIG_INIT
HidSpiCxDeviceConfigure

Дополнительные сведения: HidSpiCxDeviceConfigure
HidSpiCxDeviceInitConfig

Дополнительные сведения: HidSpiCxDeviceInitConfig
HidSpiCxNotifyDeviceReset

Дополнительные сведения: HidSpiCxNotifyDeviceReset
PHIDP_GETCAPS

Подпрограмма HidP_GetCaps возвращает структуру HIDP_CAPS коллекции верхнего уровня. Эта подпрограмма находится в файле hidclass.h.
PI8042_ISR_WRITE_PORT

Подпрограмма обратного вызова с PI8042_ISR_WRITE_PORT типом записывает данные в порт i8042. I8042prt предоставляет этот обратный вызов.
PI8042_KEYBOARD_INITIALIZATION_ROUTINE

PI8042_KEYBOARD_INITIALIZATION_ROUTINE типизация процедуры обратного вызова дополняет инициализацию устройства клавиатуры по умолчанию с помощью I8042prt.
PI8042_KEYBOARD_ISR

Подпрограмма обратного вызова с PI8042_KEYBOARD_ISR типом настраивает работу ISR клавиатуры I8042prt.
PI8042_MOUSE_ISR

Подпрограмма обратного вызова с PI8042_MOUSE_ISR типом настраивает работу isR мыши I8042prt.
PI8042_QUEUE_PACKET

PI8042_QUEUE_PACKET типизированный подпрограмма обратного вызова помещает в очередь пакет входных данных для обработки с помощью ISR DPC клавиатуры или мыши. I8042prt предоставляет этот обратный вызов.
PI8042_SYNCH_READ_PORT

Подпрограмма обратного вызова с типом PI8042_SYNCH_READ_PORT выполняет синхронизированное чтение из порта i8042. I8042prt предоставляет этот обратный вызов.
PI8042_SYNCH_WRITE_PORT

Подпрограмма обратного вызова с типом PI8042_SYNCH_READ_PORT выполняет синхронизированную запись на порт i8042. I8042prt поставляет эту процедуру.
PSERVICE_CALLBACK_ROUTINE

Драйвер функции вызывает обратный вызов службы класса в подпрограмме завершения диспетчеризации ISR. Обратный вызов службы класса передает входные данные из буфера входных данных устройства в очередь данных класса.
VHF_CONFIG_INIT

Используйте функцию VHF_CONFIG_INIT для инициализации необходимых элементов структуры VHF_CONFIG, выделенной исходным драйвером HID.
VhfAsyncOperationComplete

Драйвер источника HID вызывает этот метод, чтобы задать результаты асинхронной операции.
VhfCreate

Драйвер источника HID вызывает этот метод для создания виртуального устройства HID.
VhfDelete

Драйвер исходного устройства HID вызывает этот метод для удаления устройства VHF.
VhfReadReportSubmit

Драйвер источника HID вызывает этот метод для отправки отчета hid read (input) в виртуальную платформу HID (VHF).
VhfStart

Драйвер источника HID вызывает этот метод для запуска виртуального устройства HID.

Структуры

 
CONNECT_DATA

CONNECT_DATA указывает сведения, используемые Kbdclass и Mouclass для подключения к порту клавиатуры или мыши.
HID_COLLECTION_INFORMATION

Структура HID_COLLECTION_INFORMATION содержит общие сведения о коллекции верхнего уровня.
HID_DESCRIPTOR

Структура HID_DESCRIPTOR представляет дескриптор HID для устройства HIDClass.
HID_DEVICE_ATTRIBUTES

Структура HID_DEVICE_ATTRIBUTES содержит сведения об устройстве HIDClass.
HID_DEVICE_EXTENSION

Структура HID_DEVICE_EXTENSION используется мини-накопителем HID в качестве макета для расширения функционального объекта устройства HIDClass.
HID_MINIDRIVER_REGISTRATION

Структура HID_MINIDRIVER_REGISTRATION содержит сведения о регистрации, которые мини-драйвер HID передает драйверам клиента HID, когда мини-драйвер регистрируется в драйвере класса.
HID_XFER_PACKET

Структура HID_XFER_PACKET в hidclass.he содержит сведения об отчете HID, который драйвер класса HID использует с запросами ввода-вывода для получения или задания отчета.
HID_XFER_PACKET

Структура HID_XFER_PACKET в vhf.h содержит сведения об отчете HID, который драйвер класса HID использует с запросами ввода-вывода для получения или задания отчета.
HIDD_ATTRIBUTES

Структура HIDD_ATTRIBUTES содержит сведения о поставщике устройства HIDClass.
HIDP_BUTTON_ARRAY_DATA

Структура HIDP_BUTTON_ARRAY_DATA используется для получения или задания данных для одной кнопки в массиве кнопок.
HIDP_BUTTON_CAPS

Структура HIDP_BUTTON_CAPS содержит сведения о возможностях использования кнопки управления HID (или набора кнопок, связанных с диапазоном использования).
HIDP_CAPS

Структура HIDP_CAPS содержит сведения о возможностях коллекции верхнего уровня.
HIDP_COLLECTION_DESC

Содержит сведения о коллекции верхнего уровня. Эта структура используется в вызове HidP_GetCollectionDescription.
HIDP_DATA

Структура HIDP_DATA содержит сведения об индексе данных и значении элемента управления HID в отчете HID.
HIDP_DEVICE_DESC

Содержит блок описания устройства, заполненный описаниями коллекции в виде связанных списков. Эта структура используется HidP_GetCollectionDescription.
HIDP_EXTENDED_ATTRIBUTES

Структура HIDP_EXTENDED_ATTRIBUTES содержит сведения о глобальных элементах, указанных для элемента управления HID, которые средство синтаксического анализа HID не распознает.
HIDP_GETCOLDESC_DBG

Содержит код ошибки, указывающий на сбой при синтаксическом анализе дескриптора отчета. Эта структура используется в вызове HidP_GetCollectionDescription.
HIDP_LINK_COLLECTION_NODE

Структура HIDP_LINK_COLLECTION_NODE содержит сведения о коллекции ссылок в массиве ссылок коллекции верхнего уровня.
HIDP_REPORT_IDS

Содержит сведения об идентификаторе отчета для коллекции верхнего уровня.
HIDP_UNKNOWN_TOKEN

Структура HIDP_UNKNOWN_TOKEN содержит сведения о глобальном элементе, который средство синтаксического анализа HID не распознает.
HIDP_VALUE_CAPS

Структура HIDP_VALUE_CAPS содержит сведения, описывающие возможности набора значений элемента управления HID (одного использования или диапазона использования).
HIDSPICX_DEVICE_CONFIG

Дополнительные сведения: HIDSPICX_DEVICE_CONFIG
HIDSPICX_DRIVER_GLOBALS

Дополнительные сведения: HIDSPICX_DRIVER_GLOBALS
HIDSPICX_REPORT

Дополнительные сведения: HIDSPICX_REPORT
INTERNAL_I8042_HOOK_KEYBOARD

INTERNAL_I8042_HOOK_KEYBOARD используется I8042prt для подключения необязательных процедур обратного вызова, которые дополняют инициализацию клавиатуры и ISR клавиатуры. Обратные вызовы могут быть предоставлены дополнительным драйвером фильтра верхнего уровня, предоставляемым поставщиком.
INTERNAL_I8042_HOOK_MOUSE

INTERNAL_I8042_HOOK_MOUSE используется I8042prt для подключения необязательной процедуры обратного вызова, которая дополняет работу мыши ISR. Обратный вызов может быть предоставлен дополнительным драйвером фильтра верхнего уровня, предоставляемым поставщиком.
INTERNAL_I8042_START_INFORMATION

INTERNAL_I8042_START_INFORMATION указывает объект прерывания, который может использовать дополнительный предоставленный поставщиком драйвер устройства фильтра верхнего уровня для синхронизации своей работы с ISR I8042prt.
OUTPUT_PACKET

OUTPUT_PACKET содержит сведения о данных, записываемых на клавиатуру или устройство мыши i8042prt.
USAGE_AND_PAGE

Структура USAGE_AND_PAGE указывает страницу использования и идентификатор использования элемента управления HID.
VHF_CONFIG

Содержит сведения о начальной конфигурации, предоставляемые исходным драйвером HID при вызове VhfCreate для создания виртуального устройства HID.