MouFilter_IsrHook routine
MouFilter_IsrHook is a template for a PI8042_MOUSE_ISR callback routine that customizes the operation of the I8042prt mouse ISR.
Syntax
BOOLEAN MouFilter_IsrHook(
PDEVICE_OBJECT DeviceObject,
PMOUSE_INPUT_DATA CurrentInput,
POUTPUT_PACKET CurrentOutput,
UCHAR StatusByte,
PUCHAR DataByte,
PBOOLEAN ContinueProcessing,
PMOUSE_STATE MouseState,
PMOUSE_RESET_SUBSTATE ResetSubState
);
Parameters
DeviceObject
Pointer to the filter device object of the driver that supplies this callback.CurrentInput
Pointer to the input MOUSE_INPUT_DATA structure being constructed by the ISR.CurrentOutput
Pointer to the OUTPUT_PACKET structure that specifies the bytes being written to the hardware device.StatusByte
Specifies a status byte that is read from I/O port 60 when the interrupt occurs.DataByte
Specifies a data byte that is read from I/O port 64 when the interrupt occurs.ContinueProcessing
Specifies, if TRUE, that the I8042prt mouse ISR continues processing after this callback returns. Otherwise, processing is not continued.MouseState
Pointer to a MOUSE_STATE enumeration value, which identifies the state of mouse input.ResetSubState
Pointer to MOUSE_RESET_SUBSTATE enumeration value, which identifies the mouse reset substate. See the Remarks section.
Return value
MouFilter_IsrHook returns TRUE if the interrupt service routine should continue; otherwise it returns FALSE.
Remarks
A MouFilter_IsrHook callback is not needed if the default operation of I8042prt is sufficient.
The I8042prt mouse ISR calls MouFilter_IsrHook after it validates the interrupt.
To reset a mouse, I8042prt goes through a sequence of operational substates, each one of which is identified by an MOUSE_RESET_SUBSTATE enumeration value. For more information about how I8042prt resets a mouse and the corresponding mouse reset substates, see the documentation of MOUSE_RESET_SUBSTATE in ntdd8042.h.
MouFilter_IsrHook runs in kernel mode at the IRQL of the I8042prt mouse ISR.
Requirements
Target platform |
|
Header |
Moufiltr.h (include Moufiltr.h) |
IRQL |
See Remarks section. |
See also