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(
  PVOID IsrContext,
  PMOUSE_INPUT_DATA CurrentInput,
  POUTPUT_PACKET CurrentOutput,
  UCHAR StatusByte,
  PUCHAR Byte,
  PBOOLEAN ContinueProcessing,
  PMOUSE_STATE MouseState,
  PMOUSE_RESET_SUBSTATE ResetSubState
)
{...}

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.

Requirements

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

See also

MOUSE_INPUT_DATA

MOUSE_STATE

MouFilter_IsrHook

OUTPUT_PACKET