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.

- -

INT 2fH 4B05H: Identify Instance Data