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.
Выходной буфер
None
Длина выходного буфера
None
Блок состояния
Для элемента Status задано одно из следующих значений:
STATUS_INVALID_PARAMETER
Parameters.DeviceIoControl.InputBufferLength меньше размера структуры INTERNAL_I8042_HOOK_MOUSE (в байтах).
STATUS_SUCCESS
Запрос успешно выполнен.
Требования
Требование | Значение |
---|---|
Заголовок | ntdd8042.h (включая Ntdd8042.h) |