HID(휴먼 인터페이스 디바이스)
HID(휴먼 인터페이스 디바이스) 기술 개요입니다.
HID(휴먼 인터페이스 디바이스)를 개발하려면 다음 헤더가 필요합니다.
프로그래밍 가이드는 HID(휴먼 인터페이스 디바이스)를 참조하세요.
Win32 HID 프로그래밍 API는 Win32 휴먼 인터페이스 디바이스 참조를 참조하세요.
이 섹션에는 인간 인터페이스 디바이스(또는 HID)와 관련된 프로그래밍 인터페이스가 포함되어 있습니다. 일반적으로 이러한 디바이스는 컴퓨터 시스템의 작동을 직접 제어하는 데 사용하는 디바이스입니다.
HIDClass 지원 루틴
사용자 모드 애플리케이션, 커널 모드 드라이버 및 HID 미니드라이버가 HIDClass 디바이스 설정 클래스에서 디바이스를 작동하는 데 사용하는 시스템 제공 루틴이 있습니다.
일반적으로 사용자 모드 애플리케이션은 HidD_Xxx 및 HidP_Xxx 루틴을 사용할 수 있습니다. 그러나 커널 모드 드라이버는 HidP_Xxx 루틴만 호출할 수 있습니다.
HID 미니 드라이버는 HidRegisterMinidriver 루틴만 사용합니다.
Windows 8.1 Microsoft는 HID 디바이스에 액세스하는 Windows 앱을 작성할 수 있는 새로운 Windows.Devices.HumanInterfaceDevice API를 도입했습니다.
헤더는 HID 미니드라이버에서 지원해야 하는 IOCTL을 정의합니다. HID 클래스 드라이버만 이러한 IOCTL을 HID 미니드라이버로 보냅니다. 사용자 모드 애플리케이션 및 기타 커널 모드 드라이버는 HIDClass 지원 루틴 및 HID 클래스 드라이버 IOCTL을 사용하여 HID 컬렉션과만 통신할 수 있습니다.
HID 미니 드라이버 IOCTL
HID 미니드라이버가 IOCTL 집합을 처리해야 합니다. HID 클래스 드라이버만 이러한 IOCTL을 HID 미니드라이버로 보냅니다. 사용자 모드 애플리케이션 및 기타 커널 모드 드라이버는 HIDClass 지원 루틴 및 HID 클래스 드라이버 IOCTL을 사용하여 HID 컬렉션과만 통신할 수 있습니다.
항목 | 설명 |
---|---|
IOCTL_HID_ACTIVATE_DEVICE | IOCTL_HID_ACTIVATE_DEVICE 요청은 HIDClass 디바이스를 활성화하여 I/O 작업을 준비합니다. |
IOCTL_HID_DEACTIVATE_DEVICE | IOCTL_HID_DEACTIVATE_DEVICE 요청은 HIDClass 디바이스를 비활성화하여 작업을 중지하고 모든 미해결 I/O 요청을 종료합니다. |
IOCTL_HID_GET_DEVICE_ATTRIBUTES | IOCTL_HID_GET_DEVICE_ATTRIBUTES 요청은 HID_DEVICE_ATTRIBUTES 구조에서 HIDClass 디바이스의 특성을 가져옵니다. |
IOCTL_HID_GET_DEVICE_DESCRIPTOR | IOCTL_HID_GET_DEVICE_DESCRIPTOR 요청은 HIDClass 디바이스의 HID 설명자를 가져옵니다. |
IOCTL_HID_GET_REPORT_DESCRIPTOR | IOCTL_HID_GET_REPORT_DESCRIPTOR 요청은 HIDClass 디바이스에 대한 보고서 설명자를 가져옵니다. |
IOCTL_HID_GET_STRING | IOCTL_HID_GET_STRING 요청은 최상위 컬렉션에 대한 제조업체 ID, 제품 ID 또는 일련 번호를 가져옵니다. 검색된 문자열은 사람이 읽을 수 있는 형식의 NULL로 끝나는 와이드 문자열입니다. |
IOCTL_HID_READ_REPORT | IOCTL_HID_READ_REPORT 요청은 HIDClass 디바이스에서 HID 클래스 드라이버의 버퍼로 입력 보고서를 전송합니다. |
IOCTL_HID_WRITE_REPORT | IOCTL_HID_WRITE_REPORT 요청은 HIDClass 디바이스에 HID 보고서를 보냅니다. |
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 제어 코드는 출력 보고서를 최상위 컬렉션으로 보냅니다. |
HID 클래스 드라이버 IOCTL
HID 클래스 드라이버는 최상위 컬렉션을 지원하기 위해 IOCTL을 처리합니다.
사용자 애플리케이션은 HIDD_XXX HIDClass 지원 루틴을 사용하여 HID 클래스 드라이버와 통신할 수 있지만 커널 모드 드라이버는 이 섹션에 설명된 해당 디바이스 제어 요청을 보내야 합니다.
입력 및 출력 매개 변수는 요청별로 다릅니다.
요청이 완료되면 I/O 상태 블록 멤버가 다음과 같이 설정됩니다.
Status 멤버는 처리하는 모든 요청에 대해 HID 클래스 드라이버에 의해 설정됩니다.
각 IOCTL에 대해 설명된 대로 정보 멤버는 클래스 드라이버 또는 하위 수준 드라이버에 의해 설정됩니다. 일반적으로 하위 수준 드라이버가 디바이스 간 또는 디바이스로 데이터를 전송하는 경우 하위 수준 드라이버는 정보를 전송된 바이트 수로 설정합니다. 그러나 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 요청은 HID 컬렉션에 대한 IOCTL_HID_ENABLE_SECURE_READ 요청을 취소합니다. |
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 요청은 최상위 컬렉션의 플러그 앤 플레이 하드웨어 ID를 가져옵니다. |
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 요청은 최상위 컬렉션에 대한 폴링 빈도(밀리초)를 설정합니다. 폴링된 디바이스에서 불규칙하고 기회적인 읽기를 수행하는 사용자 모드 애플리케이션 또는 커널 모드 드라이버는 폴링 간격이 0이어야 합니다. 이러한 경우 IOCTL_HID_SET_POLL_FREQUENCY_MSEC 실제로 디바이스의 폴링 빈도를 변경하지 않습니다. 그러나 보고서 데이터를 읽을 때 부실하지 않으면 표시된 컬렉션에 대한 최신 보고서 데이터로 즉시 읽기가 완료됩니다. 보고서 데이터가 부실하면 폴링 간격의 만료를 기다리지 않고 즉시 새로 고쳐지고 새 데이터로 읽기가 완료됩니다. IRP에 제공된 폴링 간격의 값이 0이 아니면 = 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 보고서를 가져와서 설정하는 4가지 비동기 작업 중 하나를 지원하려는 경우 이 이벤트 콜백을 구현합니다. |
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 형식의 콜백 루틴은 I8042prt 키보드 ISR의 작업을 사용자 지정합니다. |
PI8042_MOUSE_ISR | PI8042_MOUSE_ISR 형식의 콜백 루틴은 I8042prt 마우스 ISR의 작업을 사용자 지정합니다. |
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 디스패치 완료 루틴에서 클래스 서비스 콜백을 호출합니다. 클래스 서비스 콜백은 디바이스의 입력 데이터 버퍼에서 클래스 데이터 큐로 입력 데이터를 전송합니다. |
I/O 컨트롤 코드
제목 | 설명 |
---|---|
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 디바이스를 활성화하여 I/O 작업을 준비합니다. |
IOCTL_HID_DEACTIVATE_DEVICE IOCTL | IOCTL_HID_DEACTIVATE_DEVICE 요청은 HIDClass 디바이스를 비활성화하여 작업을 중지하고 미해결 I/O 요청을 모두 종료합니다. |
IOCTL_HID_DEVICERESET_NOTIFICATION IOCTL | IOCTL_HID_DEVICERESET_NOTIFICATION 요청은 HID 클라이언트 드라이버에서 HID 클래스 드라이버로 전송되어 디바이스 시작 재설정 이벤트를 기다립니다. |
IOCTL_HID_DISABLE_SECURE_READ IOCTL | IOCTL_HID_DISABLE_SECURE_READ 요청은 HID 컬렉션에 대한 IOCTL_HID_ENABLE_SECURE_READ 요청을 취소합니다. |
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 요청은 HID_DEVICE_ATTRIBUTES 구조에서 HIDClass 디바이스의 특성을 가져옵니다. |
IOCTL_HID_GET_DEVICE_DESCRIPTOR IOCTL | IOCTL_HID_GET_DEVICE_DESCRIPTOR 요청은 HIDClass 디바이스의 HID 설명자를 가져옵니다. |
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 요청은 최상위 컬렉션의 플러그 앤 플레이 하드웨어 ID를 가져옵니다. |
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 요청은 최상위 컬렉션에 대한 제조업체 ID, 제품 ID 또는 일련 번호를 가져옵니다. 검색된 문자열은 사람이 읽을 수 있는 형식의 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 제어 코드는 HIDClass가 HIDUSB와 같은 HID 미니 드라이버에 보내는 유휴 알림 요청 IRP의 IOCTL로, 버스 드라이버에 디바이스가 현재 유휴 상태임을 알릴 수 있습니다. |
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 요청은 HIDClass 디바이스에 HID 보고서를 보냅니다. |
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 요청은 I8042prt 마우스 ISR에 ISR 콜백 루틴을 추가합니다. |
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 상태 완료됩니다. 플러그 앤 플레이 키보드는 플러그 앤 플레이 관리자가 추가하거나 제거할 수 있습니다. |
IOCTL_INTERNAL_MOUSE_CONNECT IOCTL | IOCTL_INTERNAL_MOUSE_CONNECT 요청은 Mouclass 서비스를 마우스 디바이스에 연결합니다. |
IOCTL_INTERNAL_MOUSE_DISCONNECT IOCTL | IOCTL_INTERNAL_MOUSE_DISCONNECT 요청은 STATUS_NOT_IMPLEMENTED 오류 상태 Moufiltr에 의해 완료됩니다. |
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 제어 코드는 출력 보고서를 최상위 컬렉션으로 보냅니다. |
IOCTLs
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 디바이스를 활성화하여 I/O 작업을 준비합니다. |
IOCTL_HID_DEACTIVATE_DEVICE IOCTL_HID_DEACTIVATE_DEVICE 요청은 HIDClass 디바이스를 비활성화하여 작업을 중지하고 모든 미해결 I/O 요청을 종료합니다. |
IOCTL_HID_DEVICERESET_NOTIFICATION IOCTL_HID_DEVICERESET_NOTIFICATION 요청은 HID 클라이언트 드라이버에서 HID 클래스 드라이버로 전송되어 디바이스 시작 초기화 이벤트를 기다립니다. |
IOCTL_HID_DISABLE_SECURE_READ IOCTL_HID_DISABLE_SECURE_READ 요청은 HID 컬렉션에 대한 IOCTL_HID_ENABLE_SECURE_READ 요청을 취소합니다. |
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 요청은 HID_DEVICE_ATTRIBUTES 구조에서 HIDClass 디바이스의 특성을 가져옵니다. |
IOCTL_HID_GET_DEVICE_DESCRIPTOR IOCTL_HID_GET_DEVICE_DESCRIPTOR 요청은 HIDClass 디바이스의 HID 설명자를 가져옵니다. |
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 요청은 최상위 컬렉션의 플러그 앤 플레이 하드웨어 ID를 가져옵니다. |
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 요청은 최상위 컬렉션에 대한 제조업체 ID, 제품 ID 또는 일련 번호를 가져옵니다. 검색된 문자열은 사람이 읽을 수 있는 형식의 NULL로 끝나는 와이드 문자열입니다. |
IOCTL_HID_READ_REPORT IOCTL_HID_READ_REPORT 요청은 HIDClass 디바이스에서 HID 클래스 드라이버의 버퍼로 입력 보고서를 전송합니다. |
IOCTL_HID_SEND_IDLE_NOTIFICATION_REQUEST IOCTL_HID_SEND_IDLE_NOTIFICATION_REQUEST 제어 코드는 HIDClass가 HIDUSB와 같은 HID 미니 드라이버에 보내는 유휴 알림 요청 IRP의 IOCTL로, 버스 드라이버에 디바이스가 현재 유휴 상태임을 알릴 수 있습니다. |
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 요청은 HIDClass 디바이스에 HID 보고서를 보냅니다. |
IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER 요청은 지원되지 않습니다. |
IOCTL_INTERNAL_I8042_HOOK_KEYBOARD IOCTL_INTERNAL_I8042_HOOK_KEYBOARD 요청은 다음을 수행합니다. I8042prt 키보드 초기화 루틴에 초기화 콜백 루틴 추가 I8042prt 키보드 ISR에 ISR 콜백 루틴 추가 초기화 및 ISR 콜백은 선택 사항이며 PS/2 스타일 키보드 디바이스에 대한 상위 수준 필터 드라이버에서 제공합니다. I8042prt는 IOCTL_INTERNAL_KEYBOARD_CONNECT 요청을 받은 후 키보드 디바이스 스택의 맨 위에 동기 IOCTL_INTERNAL_I8042_HOOK_KEYBOARD 요청을 보냅니다. Kbfiltr이 후크 키보드 요청을 수신하면 Kbfiltr은 다음 방법으로 요청을 필터링합니다. Kbfiltr에 전달된 상위 수준 정보를 저장합니다. 상위 수준 디바이스 개체의 컨텍스트, 초기화 콜백에 대한 포인터 및 ISR 콜백에 대한 포인터를 포함하는 자체 I8042prt의 컨텍스트 및 Kbfiltr ISR 콜백이 사용할 수 있는 콜백에 대한 포인터를 사용하여 상위 수준 정보 배치 이 요청 및 콜백에 대한 자세한 내용은 다음 topics:I8042prt 콜백 루틴Kbfiltr 콜백 루틴을 참조하세요. |
IOCTL_INTERNAL_I8042_HOOK_MOUSE IOCTL_INTERNAL_I8042_HOOK_MOUSE 요청은 I8042prt 마우스 ISR에 ISR 콜백 루틴을 추가합니다. |
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 상태 완료됩니다. 플러그 앤 플레이 키보드는 플러그 앤 플레이 관리자가 추가하거나 제거할 수 있습니다. |
IOCTL_INTERNAL_MOUSE_CONNECT IOCTL_INTERNAL_MOUSE_CONNECT 요청은 Mouclass 서비스를 마우스 디바이스에 연결합니다. |
IOCTL_INTERNAL_MOUSE_DISCONNECT IOCTL_INTERNAL_MOUSE_DISCONNECT 요청은 STATUS_NOT_IMPLEMENTED 오류 상태 Moufiltr에 의해 완료됩니다. |
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 열거형 형식은 마우스에서 입력의 현재 상태를 식별합니다. |
Functions
EVT_HIDSPICX_NOTIFY_POWERDOWN 자세한 정보: EVT_HIDSPICX_NOTIFY_POWERDOWN |
EVT_HIDSPICX_RESETDEVICE 자세한 정보: EVT_HIDSPICX_RESETDEVICE |
EVT_VHF_ASYNC_OPERATION HID 원본 드라이버는 HID 보고서를 가져와서 설정하는 4가지 비동기 작업 중 하나를 지원하려는 경우 이 이벤트 콜백을 구현합니다. |
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 루틴은 HIDClass 디바이스에 대한 디바이스 인터페이스GUID를 반환합니다. |
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 지정된 보고서 설명자에 대한 컬렉션 설명 및 해당 보고서 ID 정보로 디바이스 설명 블록을 채웁니다. |
HidP_GetData HidP_GetData 루틴은 지정된 보고서에 대해 현재 ON(1)으로 설정된 모든 HID 컨트롤 단추의 데이터 인덱스를 식별하는 HIDP_DATA 구조의 배열과 모든 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 보고서에서 ON으로 설정된 모든 HID 컨트롤 단추 사용량 목록을 반환합니다. |
HidP_GetUsageValue HidP_GetUsageValue 루틴은 HID 보고서의 선택 조건과 일치하는 HID 컨트롤 값과 연결된 데이터를 추출합니다. |
HidP_GetUsageValueArray HidP_GetUsageValueArray 루틴은 HID 보고서에서 HID 컨트롤 사용량 값 배열과 연결된 데이터를 추출합니다. |
HidP_GetValueCaps HidP_GetValueCaps 루틴은 지정된 유형의 HID 보고서에 대한 최상위 컬렉션의 모든 HID 컨트롤 값을 설명하는 값 기능 배열을 반환합니다. |
HidP_GetVersion HidP_GetVersion 함수는 HID API 버전을 반환하는 헤더 전용 구현입니다. |
HidP_InitializeReportForID HidP_InitializeReportForID 루틴은 HID 보고서를 초기화합니다. |
HidP_MaxDataListLength HidP_MaxDataListLength 루틴은 지정된 유형의 HID 보고서 및 지정된 최상위 컬렉션에 대해 HidP_GetData 반환할 수 있는 최대 HIDP_DATA 구조체 수를 반환합니다. |
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 보고서에서 지정된 HID 컨트롤 단추 ON(1)을 설정합니다. |
HidP_SetUsageValue HidP_SetUsageValue 루틴은 지정된 HID 보고서에서 HID 컨트롤 값을 설정합니다. |
HidP_SetUsageValueArray HidP_SetUsageValueArray 루틴은 지정된 HID 보고서에서 HID 컨트롤 사용량 값 배열을 설정합니다. |
HidP_TranslateUsagesToI8042ScanCodes HidP_TranslateUsagesToI8042ScanCodes 루틴은 HID_USAGE_PAGE_KEYBOARD 사용 페이지의 HID 사용량 목록을 해당 PS/2 검사 코드(코드 집합 1 스캔)에 매핑합니다. |
HidP_UnsetButtons HidP_UnsetButtons 매크로는 HidP_UnsetUsages 함수의 니모닉 별칭입니다. |
HidP_UnsetUsages HidP_UnsetUsages 루틴은 HID 보고서에서 지정된 HID 컨트롤 단추 사용량 OFF(0)를 설정합니다. |
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 형식의 콜백 루틴은 I8042prt 키보드 ISR의 작업을 사용자 지정합니다. |
PI8042_MOUSE_ISR PI8042_MOUSE_ISR 형식의 콜백 루틴은 I8042prt 마우스 ISR의 작업을 사용자 지정합니다. |
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 함수를 사용하여 HID 원본 드라이버에서 할당한 VHF_CONFIG 구조체의 필요한 멤버를 초기화합니다. |
VhfAsyncOperationComplete HID 원본 드라이버는 이 메서드를 호출하여 비동기 작업의 결과를 설정합니다. |
VhfCreate HID 원본 드라이버는 이 메서드를 호출하여 가상 HID 디바이스를 만듭니다. |
VhfDelete HID 원본 디바이스 드라이버는 이 메서드를 호출하여 VHF 디바이스를 삭제합니다. |
VhfReadReportSubmit HID 소스 드라이버는 이 메서드를 호출하여 HID 읽기(입력) 보고서를 VHF(Virtual HID Framework)에 제출합니다. |
VhfStart HID 원본 드라이버는 이 메서드를 호출하여 가상 HID 디바이스를 시작합니다. |
구조체
CONNECT_DATA CONNECT_DATA Kbdclass 및 Mouclass가 키보드 또는 마우스 포트에 연결하는 데 사용하는 정보를 지정합니다. |
HID_COLLECTION_INFORMATION HID_COLLECTION_INFORMATION 구조체에는 최상위 컬렉션에 대한 일반 정보가 포함되어 있습니다. |
HID_DESCRIPTOR HID_DESCRIPTOR 구조체는 HIDClass 디바이스에 대한 HID 설명자를 나타냅니다. |
HID_DEVICE_ATTRIBUTES HID_DEVICE_ATTRIBUTES 구조에는 HIDClass 디바이스에 대한 정보가 포함됩니다. |
HID_DEVICE_EXTENSION HID_DEVICE_EXTENSION 구조체는 HIDClass 디바이스의 기능 디바이스 개체의 디바이스 확장에 대한 레이아웃으로 HID 미니드라이버에서 사용됩니다. |
HID_MINIDRIVER_REGISTRATION HID_MINIDRIVER_REGISTRATION 구조에는 미니드라이버가 클래스 드라이버에 등록할 때 HID 미니드라이버가 HID 클라이언트 드라이버에 전달하는 등록 정보가 포함됩니다. |
HID_XFER_PACKET hidclass.he의 HID_XFER_PACKET 구조체에는 HID 클래스 드라이버가 I/O 요청과 함께 사용하여 보고서를 얻거나 설정하는 HID 보고서에 대한 정보가 포함되어 있습니다. |
HID_XFER_PACKET vhf.h의 HID_XFER_PACKET 구조에는 HID 클래스 드라이버가 I/O 요청과 함께 사용하여 보고서를 얻거나 설정하는 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 최상위 컬렉션에 대한 보고서 ID 정보를 포함합니다. |
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 마우스 ISR의 작업을 보완하는 선택적 콜백 루틴을 연결하기 위해 I8042prt에서 사용됩니다. 콜백은 공급업체에서 제공하는 선택적 상위 수준 필터 드라이버에서 제공할 수 있습니다. |
INTERNAL_I8042_START_INFORMATION INTERNAL_I8042_START_INFORMATION 공급업체에서 제공하는 선택적 상위 수준 필터 디바이스 드라이버가 I8042prt ISR과 작업을 동기화하는 데 사용할 수 있는 인터럽트 개체를 지정합니다. |
OUTPUT_PACKET OUTPUT_PACKET I8042prt에서 키보드 또는 마우스 디바이스에 기록되는 데이터에 대한 정보를 포함합니다. |
USAGE_AND_PAGE USAGE_AND_PAGE 구조체는 HID 컨트롤의 사용 페이지 및 사용 ID를 지정합니다. |
VHF_CONFIG 가상 HID 디바이스를 만들기 위해 VhfCreate를 호출할 때 HID 원본 드라이버에서 제공하는 초기 구성 정보를 포함합니다. |