PI8042_MOUSE_ISR - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// ntdd8042.h

PI8042_MOUSE_ISR Pi8042MouseIsr;

BOOLEAN Pi8042MouseIsr(
  [in]      PVOID IsrContext,
  [in]      PMOUSE_INPUT_DATA CurrentInput,
  [in]      POUTPUT_PACKET CurrentOutput,
  [in]      UCHAR StatusByte,
  [in]      PUCHAR Byte,
  [in, out] PBOOLEAN ContinueProcessing,
  [in]      PMOUSE_STATE MouseState,
  [in]      PMOUSE_RESET_SUBSTATE ResetSubState
)
{...}
View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (nc-ntdd8042-pi8042_mouse_isr)

PI8042_MOUSE_ISR callback function

Description

A PI8042_MOUSE_ISR-typed callback routine customizes the operation of the I8042prt mouse ISR.

Parameters

IsrContext [in]

Pointer to the filter device object of the driver that supplies this callback.

CurrentInput [in]

Pointer to the input MOUSE_INPUT_DATA structure being constructed by the ISR.

CurrentOutput [in]

Pointer to an OUTPUT_PACKET structure, which specifies an array of bytes being written to the hardware device.

StatusByte [in]

Specifies a status byte that is read from I/O port 60 when the interrupt occurs.

Byte [in]

Specifies a data byte that is read from I/O port 64 when the interrupt occurs.

ContinueProcessing [in, out]

Specifies, if TRUE, that processing in the I8042prt mouse ISR will continue after this callback completes. Otherwise, processing does not continue.

MouseState [in]

Pointer to a MOUSE_STATE enumeration value, which identifies the state of mouse input.

ResetSubState [in]

Pointer to MOUSE_RESET_SUBSTATE enumeration value, which identifies the mouse reset substate. See the Remarks section.

Return value

A PI8042_MOUSE_ISR callback returns TRUE if the I8042prt mouse ISR should continue; otherwise it returns FALSE.

Remarks

A PI8042_MOUSE_ISR callback is not needed if the default operation of the I8042prt mouse ISR is sufficient.

An upper-level keyboard filter driver can provide a mouse ISR callback. After the I8042prt mouse ISR validates the interrupt, it calls the mouse ISR callback.

To reset a mouse, I8042prt goes through a sequence of operational substates, each one of which is identified by a 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.

A PI8042_MOUSE_ISR callback runs in kernel mode at the IRQL of the I8042prt mouse ISR.

See also

MOUSE_INPUT_DATA

MOUSE_STATE

MouFilter_IsrHook

OUTPUT_PACKET