INT 2fH 4B05H: Identify Instance Data
Compatibility: 5.0+
Expects: AX 4B04H (INT 2fH)
ES:BX 0000:0000
CX:DX address of switcher service function handler
──────────────────────────────────────────────────────────────────
Returns: ES:BX 0000:0000 if no instance data chain
else, address of a SwStartupInfoRec
──────────────────────────────────────────────────────────────────
Info: This provides a way for application programs (such as TSRs) to
tell the switcher about any "instance data" (memory areas that
are unique for each task). For example, Doskey preserves a
command-line history for each DOS session, even though the
program code need be in memory once.
This fn creates a linked list of Identify Instance Data handlers.
Application programs which need to preserve instance data must
intercept INT 2fH and process fn AX=4b05H as follows:
If you don't need to process Instance Data requests, just JMP to
the previous INT 2fH handler.
If you do need instance data, 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 SwStartupInfoRec from local
memory and fill it in (including the address of your list of
SwInstanceItemRec structures. Copy the returned value of
ES:BX into the pfNextDev 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
-♦-