AX = 102Ch
ES:DI -> contents of .PIF/.DVP file (see below)
BX = size of .PIF/.DVP info
Return: BX = segment of object handle for new task
0000h on error
SeeAlso: INT 21/AH=4Bh

Format of .PIF/.DVP file:
Offset  Size    Description
00h    BYTE    reserved (0)
01h    BYTE    checksum of bytes 02h through 170h
02h 30 BYTEs   blank-padded program title
20h    WORD    maximum memory to allocate to partition in K
22h    WORD    minimum memory required in K
24h 64 BYTEs   ASCIZ program pathname
64h    BYTE    default drive letter ('A',...)
65h 64 BYTEs   ASCIZ default directory name
A5h 64 BYTEs   ASCIZ program parameters
E5h    BYTE    initial screen mode (0-7) (see also offset 189h)
E6h    BYTE    number of text pages used
E7h    BYTE    number of first interrupt to save
E8h    BYTE    number of last interrupt to save
E9h    BYTE    rows in virtual screen buffer
EAh    BYTE    columns in virtual screen buffer
EBh    BYTE    initial window position, row
ECh    BYTE    initial window position, column
EDh    WORD    system memory in K
EFh 64 BYTEs   ASCIZ shared program name
12Fh 64 BYTEs   ASCIZ shared program data file
16Fh    BYTE    flags1
bit 7: writes text directly to screen
bit 6: runs in foreground only
bit 5: uses math coprocessor
bit 4: accesses system keyboard buffer directly
bits 3-1: reserved (0)
bit 0: swappable
170h    BYTE    flags2
bit 6: uses command-line parameters in field at A5h
bit 5: swaps interrupt vectors
---information unique to .DVP files---
171h  2 BYTEs   keys to use on open menu
173h    WORD    size of script buffer in bytes
175h    WORD    automatically give up CPU after this many tests for keyboard
input in one clock tick (default 0 = never)
177h    BYTE    nonzero = "uses own colors"
178h    BYTE    nonzero if application swappable
179h  3 BYTEs   reserved (0) according to Quarterdeck documentation
in actual .DVP files, frequently 01h
17Ch    BYTE    nonzero to automatically close on exit
17Dh    BYTE    nonzero if copy-protect floppy is required
---information unique to DESQview 2.0+---
17Eh    BYTE    .DVP version number
00h DESQview v1.2+
01h DESQview v2.0+
02h DESQview v2.2+
17Fh    BYTE    reserved (0)
180h    BYTE    initial number of rows in physical window
181h    BYTE    initial number of columns in physical window
182h    WORD    maximum expanded memory to allow, in K
184h    BYTE    flags3
bit 7: automatically assign window position
bit 5: maximum memory value has been specified
bit 4: disallow "Close" command
bit 3: foreground-only when doing graphics
bit 2: don't virtualize
bit 1: ??? set by DV 2.31 when "Runs in Background" = "D"
185h    BYTE    keyboard conflict level (0-4 for DV<2.26, 00h-0Fh for DV2.26+)
186h    BYTE    number of graphics pages used
187h    WORD    extra system memory size
189h    BYTE    initial screen mode (FFh = default) (overrides offset E5h)
---information unique to DESQview 2.2+---
18Ah    BYTE    serial port usage
FFh uses all serial ports
00h no serial ports
01h only COM1
02h only COM2
18Bh    BYTE    flags4
bit 7: automatically close application on exit if .COM or .EXE
bit 6: swappable if not using serial ports
bit 5: start program with window hidden (v2.26+)
bit 4: start program in background (v2.26+)
bit 3: virtualize text
bit 2: virtualize graphics
bit 1: share CPU when foreground
bit 0: share EGA when foreground and zoomed
18Ch    BYTE    protection level for 386 machines
18Dh 19 BYTEs   reserved (0) for regular DESQview
---information unique to DESQview/X 1.0---
18Dh    BYTE    X flags
bit 0: (XNEWPROC) use DOS client layer (DOS-to-X)
(NEWPROC) inherit DOS client layer usage
bit 1: don't display DOS window
bit 2: don't display wait message when opening window
bits 3-7: unused (0)
18Eh    BYTE    X keyboard behavior (0-3)
18Fh    BYTE    font scaling
00h fixed fonts
01h scalable fonts
190h 10 BYTEs   reserved (0)
19Ah    WORD    length of data follownig XDVP signature
19Ch  4 BYTEs   signature "XDVP"
1A0h  N BYTEs   list of variable length records (see below)

Format of variable length record:
Offset  Size    Description
00h    WORD    length of following record, 0000h if end of record list
02h    BYTE    record type
01h script filename, up to 64 characters
02h command-line parameters (allows >64 characters on cmdline)
03h environment inheritance
04h environment string
05h starting window position
---types 01h,02h,04h---
03h  N BYTEs   ASCII data
---type 03h---
03h    BYTE    inheritance
00h do not inherit
01h inherit environment
---type 05h---
03h  N BYTEs   ASCII copy of fields as typed into DVPMAN, separated by commas:
starting row, starting column, starting height, starting width
Note:   if there are multiple occurrences of record types 01h, 02h, or 03h,
only the last instance of each type is used; multiple occurrences of
type 04h are concatenated

See also: 15DE24