Jump to content

WM JOURNALNOTIFY

From EDM2
Revision as of 04:36, 18 April 2025 by Martini (talk | contribs) (Created page with "This message is used to maintain correct operation during journal playback. ==Syntax== <pre> param1 ULONG ulCommand; Command to journal.: param2 USHORT fsQueueStatus; Queue status.: USHORT usScanCode; Scan code.: USHORT usKeyState; Key State.: </pre> ==Parameters== ;''ulCommand'' (ULONG) - input: Command to journal. :JRN_QUEUESTATUS: The WinQueryQueueStatus command must be journaled. :JRN_PHYSKEYSTATE: The WinGetPhy...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

This message is used to maintain correct operation during journal playback.

Syntax

param1
    ULONG  ulCommand;     /* Command to journal. */

param2
    USHORT fsQueueStatus; /* Queue status. */
    USHORT usScanCode;    /* Scan code. */
    USHORT usKeyState;    /* Key State. */

Parameters

ulCommand (ULONG) - input
Command to journal.
JRN_QUEUESTATUS: The WinQueryQueueStatus command must be journaled.
JRN_PHYSKEYSTATE: The WinGetPhysKeyState command must be journaled.
fsQueueStatus (USHORT) - input
Queue status. See the parameter of the WinQueryQueueStatus function.
usScanCode (USHORT) - input
Scan code. See the parameter of the WinGetPhysKeyState function. param2 contains usScanCode and usKeyState if ulCommand has the value JRN_PHYSKEYSTATE.
usKeyState (USHORT) - input
Key State. See the parameter of the WinGetPhysKeyState function. param2 contains usScanCode and usKeyState if ulCommand has the value JRN_PHYSKEYSTATE.
ulReserved (ULONG) - input
Reserved value, should be 0.

Returns

ulReserved (ULONG) - returns
Reserved value, should be 0.

Remarks

If the WinQueryQueueStatus or the WinGetPhysKeyState functions have new information since the last time they were called and there is a journal record hook installed, the journal record hook is called with this message to record this new information.

During playback, this message is interpreted by the system and the appropriate state restored.

Data values of the param2 parameter depend on which command is to be journaled.

Default Processing

The default window procedure does not expect to receive this message and therefore takes no action on it, other than to set ulReserved to 0.