INT 31 P - DPMIsee DOS Protected-Mode Interface 1.0+ - ALLOCATE SHARED MEMORY AX = 0D00h ES:(E)DI -> shared memory allocation request structure (see #03159) Return: CF clear if successful request structure updated CF set on error AX = error code (8012h,8013h,8014h,8016h,8021h) (see #03143) Note: first 16 bytes of memory block will be initialized to zeros on the first allocation SeeAlso: AX=0501h,AX=0D01h,AX=0D02h Format of DPMIsee DOS Protected-Mode Interface shared memory allocation request structure: Offset Size Description (Table 03159) 00h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. requested length of shared memory block in bytes 04h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. (ret) allocated length of block 08h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. (ret) shared memory handle 0Ch DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. (ret) linear address of memory block 10h PWORDSix bytes. Used to hold an 80386 protected-mode "far" address, consisting of a segment selector and a 32-bit offset, or a Turbo Pascal "real" variable. See also DWORD, QWORD. selector:offset32 of 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 memory block (name max 128 bytes) 16h 2 BYTEs reserved 18h 4 BYTEs reserved (00h)