Поделиться через


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
Дополнительные сведения об этом запросе и обратных вызовах см. в следующих разделах:

подпрограммы обратного вызова I8042prt

подпрограммы обратного вызова Moufiltr

Основной код

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)

См. также

INTERNAL_I8042_HOOK_MOUSE

IOCTL_INTERNAL_MOUSE_CONNECT