IOCTL_INTERNAL_I8042_HOOK_MOUSE IOCTL (ntdd8042.h)
Запрос IOCTL_INTERNAL_I8042_HOOK_MOUSE добавляет подпрограмму обратного вызова ISR в isR мыши I8042prt. Обратный вызов ISR является необязательным и предоставляется драйвером фильтра мыши верхнего уровня.
I8042prt отправляет этот запрос после получения запроса IOCTL_INTERNAL_MOUSE_CONNECT. I8042prt отправляет синхронный запрос IOCTL_INTERNAL_I8042_HOOK_MOUSE в начало стека устройств мыши.
После того как Moufiltr получает запрос мыши на перехватчик, он фильтрует запрос следующим образом:
- Сохраняет сведения верхнего уровня, передаваемые в Moufiltr, которая включает контекст объекта устройства верхнего уровня и указатель на обратный вызов ISR
- Заменяет сведения верхнего уровня собственными
- Сохраняет контекст I8042prt и указателей на обратные вызовы, которые могут использовать обратные вызовы Moufiltr ISR
Основной код
IRP_MJ_INTERNAL_DEVICE_CONTROL
Входной буфер
Элемент Parameters.DeviceIoControl.InputBufferLength имеет значение больше или равно размеру структуры INTERNAL_I8042_HOOK_MOUSE.
Parameters.DeviceIoControl.Type3InputBuffer указывает на структуру INTERNAL_I8042_HOOK_MOUSE, выделенную и заданную изначально I8042prt.
Длина входного буфера
Parameters.DeviceIoControl.Type3InputBuffer указывает на структуру INTERNAL_I8042_HOOK_MOUSE, выделенную и заданную изначально I8042prt.
Выходной буфер
Никакой
Длина выходного буфера
Никакой
Блок состояния
Элемент состояния имеет одно из следующих значений:
STATUS_INVALID_PARAMETER
Parameters.DeviceIoControl.InputBufferLength меньше размера в байтах структуры INTERNAL_I8042_HOOK_MOUSE.
STATUS_SUCCESS
Запрос успешно завершен.
Требования
Требование | Ценность |
---|---|
заголовка | ntdd8042.h (include Ntdd8042.h) |