PI8042_MOUSE_ISR callback function (ntdd8042.h)

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

Syntax

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
)
{...}

Parameters

[in] IsrContext

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

[in] CurrentInput

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

[in] CurrentOutput

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

[in] StatusByte

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

[in] Byte

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

[in, out] ContinueProcessing

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

[in] MouseState

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

[in] ResetSubState

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.

Requirements

Requirement Value
Target Platform Desktop
Header ntdd8042.h (include Ntdd8042.h)
IRQL See Remarks section.

See also

MOUSE_INPUT_DATA

MOUSE_STATE

MouFilter_IsrHook

OUTPUT_PACKET