INT 2fH 4B01H: Build Notification Chain
Compatibility: 5.0+
Expects: AX 4B01H (INT 2fH)
CX:DX address of switcher service function handler
ES:BX 0000:0000 (on initial call; see below)
...or...
address of a SwCallbackInfoRec needing processing (when
intercepting this INT 2fH fn; see below)
──────────────────────────────────────────────────────────────────
Returns: ES:BX 0000:0000 (on initial call)
...or...
address of a local SwCallBackInfoRec (when intercepting)
──────────────────────────────────────────────────────────────────
Info: This fn creates a linked list of notification function handlers.
Applications which need to be notified of task-switcher
activities may intercept this fn and process subsequent calls
(made by other programs) as follows:
If you don't need to process switcher notifications, just JMP to
the previous INT 2fH handler.
If you do need notifications, your INT 2fH handler should:
■ First, chain to any previously-installed handlers by pushing
the FLAGS register and performing a FAR CALL to the previous
handler.
■ On return from that CALL, create a SwCallbackInfoRec from local
memory and fill it in (including the address of your code that
will handle switcher notifications). Copy the returned value
of ES:BX into the pfNextHandler field of the structure.
■ Place the address of your own SwCallbackInfoRec into ES:BX and
execute an IRET.
These steps result in a chain of INT 2fH handlers, each of which
can process subsequently-installed handlers.
See Also: INT 2fH 4BxxH: Task Switcher Functions
Switcher Services and Notifications
INT 2fH: Multiplex Interrupt
DOS Functions
-♦-