33 #define IOCTL_INTERNAL_I8042_CONTROLLER_WRITE_BUFFER \ 34 CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0FF2, METHOD_NEITHER, FILE_ANY_ACCESS) 36 #define IOCTL_INTERNAL_I8042_HOOK_KEYBOARD \ 37 CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0FF0, METHOD_NEITHER, FILE_ANY_ACCESS) 39 #define IOCTL_INTERNAL_I8042_KEYBOARD_START_INFORMATION \ 40 CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0FF3, METHOD_NEITHER, FILE_ANY_ACCESS) 42 #define IOCTL_INTERNAL_I8042_KEYBOARD_WRITE_BUFFER \ 43 CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0FF1, METHOD_NEITHER, FILE_ANY_ACCESS) 45 #define IOCTL_INTERNAL_I8042_HOOK_MOUSE \ 46 CTL_CODE(FILE_DEVICE_MOUSE, 0x0FF0, METHOD_NEITHER, FILE_ANY_ACCESS) 48 #define IOCTL_INTERNAL_I8042_MOUSE_START_INFORMATION \ 49 CTL_CODE(FILE_DEVICE_MOUSE, 0x0FF3, METHOD_NEITHER, FILE_ANY_ACCESS) 51 #define IOCTL_INTERNAL_I8042_MOUSE_WRITE_BUFFER \ 52 CTL_CODE(FILE_DEVICE_MOUSE, 0x0FF1, METHOD_NEITHER, FILE_ANY_ACCESS) 54 #define I8042_POWER_SYS_BUTTON 0x0001 55 #define I8042_SLEEP_SYS_BUTTON 0x0002 56 #define I8042_WAKE_SYS_BUTTON 0x0004 57 #define I8042_SYS_BUTTONS (I8042_POWER_SYS_BUTTON | \ 58 I8042_SLEEP_SYS_BUTTON | \ 59 I8042_WAKE_SYS_BUTTON) 160 IN PVOID InitializationContext,
IN PI8042_ISR_WRITE_PORT IsrWritePort
struct _INTERNAL_I8042_START_INFORMATION * PINTERNAL_I8042_START_INFORMATION
BOOL WINAPI ReadPort(_In_ HANDLE hPort, _Out_writes_bytes_(cbBuffer) LPBYTE pBuffer, _In_ DWORD cbBuffer, _Out_ LPDWORD pcbRead)
enum _MOUSE_STATE MOUSE_STATE
struct _INTERNAL_I8042_HOOK_KEYBOARD * PINTERNAL_I8042_HOOK_KEYBOARD
struct _INTERNAL_I8042_HOOK_KEYBOARD INTERNAL_I8042_HOOK_KEYBOARD
VOID(NTAPI * PI8042_ISR_WRITE_PORT)(IN PVOID Context, IN UCHAR Value)
VOID(NTAPI * PI8042_QUEUE_PACKET)(IN PVOID Context)
struct _INTERNAL_I8042_START_INFORMATION INTERNAL_I8042_START_INFORMATION
OUT PI8042_KEYBOARD_ISR IsrRoutine
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
enum _MOUSE_STATE * PMOUSE_STATE
enum _MOUSE_RESET_SUBSTATE * PMOUSE_RESET_SUBSTATE
_Reserved_ PVOID Reserved
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
enum _MOUSE_RESET_SUBSTATE MOUSE_RESET_SUBSTATE
NTSTATUS(NTAPI * PI8042_KEYBOARD_INITIALIZATION_ROUTINE)(IN PVOID InitializationContext, IN PVOID SynchFuncContext, IN PI8042_SYNCH_READ_PORT ReadPort, IN PI8042_SYNCH_WRITE_PORT WritePort, OUT PBOOLEAN TurnTranslationOn)
IN PI8042_QUEUE_PACKET QueueKeyboardPacket
BOOLEAN(NTAPI * PI8042_MOUSE_ISR)(PVOID IsrContext, PMOUSE_INPUT_DATA CurrentInput, POUTPUT_PACKET CurrentOutput, UCHAR StatusByte, PUCHAR Byte, PBOOLEAN ContinueProcessing, PMOUSE_STATE MouseState, PMOUSE_RESET_SUBSTATE ResetSubState)
enum _KEYBOARD_SCAN_STATE KEYBOARD_SCAN_STATE
NTSTATUS(NTAPI * PI8042_SYNCH_READ_PORT)(IN PVOID Context, OUT PUCHAR Value, IN BOOLEAN WaitForACK)
enum _TRANSMIT_STATE TRANSMIT_STATE
struct _OUTPUT_PACKET OUTPUT_PACKET
BOOL WINAPI WritePort(_In_ HANDLE hPort, _In_reads_bytes_(cbBuf) LPBYTE pBuffer, _In_ DWORD cbBuf, _Out_ LPDWORD pcbWritten)
OUT PI8042_MOUSE_ISR IsrRoutine
struct tagContext Context
NTSTATUS(NTAPI * PI8042_SYNCH_WRITE_PORT)(IN PVOID Context, IN UCHAR Value, IN BOOLEAN WaitForACK)
enum _KEYBOARD_SCAN_STATE * PKEYBOARD_SCAN_STATE
BOOLEAN(NTAPI * PI8042_KEYBOARD_ISR)(PVOID IsrContext, PKEYBOARD_INPUT_DATA CurrentInput, POUTPUT_PACKET CurrentOutput, UCHAR StatusByte, PUCHAR Byte, PBOOLEAN ContinueProcessing, PKEYBOARD_SCAN_STATE ScanState)
struct _INTERNAL_I8042_HOOK_MOUSE INTERNAL_I8042_HOOK_MOUSE
IN PI8042_QUEUE_PACKET QueueMousePacket
OUT PI8042_KEYBOARD_INITIALIZATION_ROUTINE InitializationRoutine
struct _INTERNAL_I8042_HOOK_MOUSE * PINTERNAL_I8042_HOOK_MOUSE
struct _OUTPUT_PACKET * POUTPUT_PACKET
IN PI8042_ISR_WRITE_PORT IsrWritePort