Int 2F Fn FB42 PU - Borland C++ Dpmiload.exe - Get Address Of ??? By Nam [E]

AX = FB42h
BX = 0005h
CX = selector of DPMILOAD data (see #2802)
DS:DX -> ASCIZ or CR-terminated name of ??? (case ignored)

Return: DX = status (see #2801)
0000h successful
AX:BX -> ??? FAR function (called with two words on top of stk)
else
BX destroyed

See Also: AX=FB42h/BX=0006h,AX=FB42h/BX=000Eh

Format of DPMILOAD data:
Offset Size Description (Table 2802)
00h 12 BYTEs ???
0Ch WORD ??? bit flags
0Eh 14 BYTEs ???
1Ch WORD number of memory control records (see #2805)
1Eh 25 BYTEs ???
37h BYTE ??? bit flags
bit 4: data valid???
38h 4 BYTEs ???
3Ch WORD ???
3Eh 12 BYTEs ???
46h BYTE ??? counter
47h BYTE ???
48h BYTE ???
49h BYTE ???
4Ah WORD ???
4Ch 2 BYTEs ???
4Eh WORD offset of array of 64-byte memory control records
52h WORD offset of name list (see #2803)
54h 4 BYTEs ???
58h WORD offset of array of 6-byte objects (see #2804)
5Ah 8 BYTEs ???
62h 9 BYTEs ASCIZ name for ???
6Bh 9 BYTEs ASCIZ name for ???
???

Format of name list entry [array]:
Offset Size Description (Table 2803)
00h BYTE length of name (00h if end of array)
01h N BYTEs name
N+1 WORD 1-based index into array of unknown 6-byte objects

Format of 6-byte objects:
Offset Size Description (Table 2804)
00h BYTE ???
01h BYTE ???
02h BYTE ???
03h BYTE 1-based index of memory control record
04h WORD ???

Format of memory control record:
Offset Size Description (Table 2805)
00h 20 BYTEs memory block info (see #2799)
14h 6 BYTEs ???
1Ah BYTE ???
1Bh 2 BYTEs ???
1Dh BYTE ??? bit flags
1Eh 14 BYTEs ???
2Ch DWORD pointer to ??? memory control record or 0000h:0000h
30h DWORD pointer to ??? memory control record or 0000h:0000h
34h DWORD pointer to next??? memory control record or 0000h:0000h
38h DWORD pointer to prev??? memory control record or 0000h:0000h
3Ch 4 BYTEs ???

Note: the pointers at offsets 2Ch and 30h form a doubly-linked list, as do
the pointers at offsets 34h and 38h