INT 2F PU - Borland C++ DPMILOAD.EXE - GET ADDRESS OF ??? BY NAME AX = FB42h BX = 0005h CX = selector of DPMILOAD data (see #03130) DS:DX -> ASCIZA NUL-terminated ASCII string. The ASCIZ string "ABC" consists of the four bytes 41h, 42h, 43h, and 00h. Unless otherwise specified, maximum lengths given in the interrupt list do not include the terminating NUL. or CR-terminated name of ??? (case ignored) Return: DX = status (see #03129) 0000h successful AX:BX -> ??? FAR function (called with two words on top of stk) else BX destroyed SeeAlso: AX=FB42h/BX=0006h,AX=FB42h/BX=000Eh Format of DPMILOAD data: Offset Size Description (Table 03130) 00h 12 BYTEs ??? 0Ch WORD ??? bit flags 0Eh 14 BYTEs ??? 1Ch WORD number of memory control records (see #03133) 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 #03131) 54h 4 BYTEs ??? 58h WORD offset of array of 6-byte objects (see #03132) 5Ah 8 BYTEs ??? 62h 9 BYTEs ASCIZA NUL-terminated ASCII string. The ASCIZ string "ABC" consists of the four bytes 41h, 42h, 43h, and 00h. Unless otherwise specified, maximum lengths given in the interrupt list do not include the terminating NUL. name for ??? 6Bh 9 BYTEs ASCIZA NUL-terminated ASCII string. The ASCIZ string "ABC" consists of the four bytes 41h, 42h, 43h, and 00h. Unless otherwise specified, maximum lengths given in the interrupt list do not include the terminating NUL. name for ??? ??? Format of name list entry [array]: Offset Size Description (Table 03131) 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 03132) 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 03133) 00h 20 BYTEs memory block info (see #03127) 14h 6 BYTEs ??? 1Ah BYTE ??? 1Bh 2 BYTEs ??? 1Dh BYTE ??? bit flags 1Eh 14 BYTEs ??? 2Ch DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. pointer to ??? memory control record or 0000h:0000h 30h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. pointer to ??? memory control record or 0000h:0000h 34h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. pointer to next??? memory control record or 0000h:0000h 38h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. 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