Up ] Docs Home ]

Format of DESQview object

Back ] Next ]

Offset Size Description

00h

WORD

offset in common memory of previous object of same type

02h

WORD

offset in common memory of next object of same type

04h

WORD

(DV 2.42-) signature FEDCh
(DV 2.50+) signature FEDCh or object number
06h

WORD

object type (see #00413)

08h

DWORD

object handle to return to caller

0Ch

DWORD

canonicalized object address (segment = common memory)

10h

WORD

offset in common memory of owning task (0000h for unowned OBJECTQs)

12h

WORD

mapping context
offset in common memory of mapping context record (see #00416)

remainder varies by object type and DESQview version

---v2.42 keyboard object---

14h

WORD

flag bits (see also AH=12h/BH=0Ah"OBJECT")
bit 15 : keyboard opened

16h

4 BYTEs

???

1Ah

WORD

priority in OBJECTQ???

1Ch

...

25h

WORD

offset in common memory of ??? task

27h

4 BYTEs

???

---v2.42 objectq object---

14h

WORD

flag bits (see also AH=12h/BH=0Ah"OBJECT")
bit 15 : OBJECTQ opened

16h

2 BYTEs

???

18h

WORD

offset in common memory of ??? task

1Ah

6 BYTEs

???

---v2.42 mailbox object---

14h

WORD

flag bits (see also AH=12h/BH=0Ah"OBJECT")
bit 15 : mailbox opened

1Ah

WORD

priority in OBJECTQ???

1Ch

6 BYTEs

???

22h

WORD

offset in common memory of mailbox name (counted string)
0000h if no name

24h

<= 5 BYTEs

???

---v2.22-2.42,2.52,2.60 window/task object---

14h

BYTE

00h - window
01h - task

15h

BYTE

internal (not Switch menu) window number???

16h

BYTE

internal (not Switch menu) window number???

17h

WORD

segment of internal window record (see #00417)

19h

2 BYTEs

???

1Bh

BYTE

cursor row

1Ch

BYTE

cursor column

1Dh

BYTE

visible window origin, row

1Eh

BYTE

visible window origin, column

1Fh

BYTE

window height (logical)

20h

BYTE

window width (logical)

21h

BYTE

window position, row

22h

BYTE

window position, column

23h

BYTE

window height (visible)

24h

BYTE

window width (visible)

25h

BYTE

row of top of frame (or window if unframed)

26h

BYTE

column of left of frame (or window if unframed)

27h

BYTE

window height (physical, including frame)

28h

BYTE

window width (physical, including frame)

29h

BYTE

unzoomed visible origin, row (00h before first zoom)

2Ah

BYTE

unzoomed visible origin, column (00h before first zoom)

2Bh

BYTE

unzoomed window position, row (00h before first zoom)

2Ch

BYTE

unzoomed window position, column (00h before first zoom)

2Dh

BYTE

unzoomed window height (00h before first zoom)

2Eh

BYTE

unzoomed window width (00h before first zoom)

unzoomed parameters above are updated when window is zoomed to full screen

2Fh

BYTE

??? initially logical window height

30h

BYTE

??? initially logical window width

31h

2 BYTEs

???

33h

BYTE

minimum height of window

34h

BYTE

minimum width of window

35h

BYTE

maximum height of window

36h

BYTE

maximum width of window

37h

3 BYTEs

???

3Ah

8 BYTEs

window frame characters: ul,ur,ll,lr,t,b,l,r

42h

24 BYTEs

attributes???

5Ah

8 BYTEs

window frame characters: ul,ur,ll,lr,t,b,l,r

62h

3 BYTEs

???

65h

BYTE

??? bitflags

66h

BYTE

bit 0: window is zoomed

67h

BYTE

???

68h

WORD

offset in common memory of window name or 0000h if untitled

6Ah

WORD

length of window name

6Ch

2 BYTEs

???

6Eh

WORD

offset of logical cursor in window (in character cells)

70h

DWORD

pointer to field table for window

74h

BYTE

???

75h

2 BYTEs

???

77h

BYTE

number of last-visited field

78h

DWORD

pointer to field table entry for last-visited field

7Ch

3 BYTEs

???

7Fh

BYTE

select field marker character

80h

BYTE

??? bit flags:
bit 0 : llow ECh window stream opcode to change reverse logattr
bit 1 : alternate field processing mode selected

81h

BYTE

???

82h

DWORD

notification function (manager stream opcode 8Ah) no notification if segment = 0000h

86h

DWORD

notification argument (manager stream opcode 8Bh)

8Ah

WORD

offset in common memory of ??? window object or 0000h

8Ch

WORD

offset in common memory of ??? window object or 0000h

8Eh

WORD

offset in common memory of ??? window object or 0000h

90h

BYTE

??? bitflags

91h

BYTE

???

---task object only

92h

BYTE

bit flags (bits 0-4)

93h

BYTE

character for ??? (default 20h)

94h

BYTE

??? flag

95h

WORD

offset in common memory of ???

97h

2 BYTEs

???

99h

WORD

???

9Bh

BYTE

??? bit flags:
bit 3 : ???
bit 6 : perform protected-attribute processing on select fields

9Ch

BYTE

???

9Dh

WORD

offset in common memory of current register save record (see #00415). No register save record in use if < 01C0h

9Fh

WORD

offset in common memory of task's keyboard object

A1h

WORD

offset in common memory of task's OBJECTQ object

A3h

WORD

offset in common memory of task's mailbox object

A5h

WORD

semaphore: FFFFh if on user stack, else on task's private stack

A7h

DWORD

user's SS:SP

ABh

WORD

task's private SP (SS read from offset 0Ah)

ADh

6 BYTEs

???

B3h

BYTE

??? bit flags:
bit 0 : run in foreground only

B4h

BYTE

???

B5h

BYTE

??? bitflags

B6h

BYTE

task status (see #00555 at AX=DE2Ch)

B7h

9 BYTEs

???

C0h

WORD

head pointer for keyboard buffer (wraps back to 00h after 80h)

C2h

WORD

tail pointer for keyboard buffer (wraps back to 00h after 80h)

C4h

2 BYTEs

??? (0000h)

C6h

WORD

segment of keyboard buffer for task

C8h

WORD

offset in common memory of ??? keyboard object

CAh

BYTE

???

---v2.22-2.42

CBh

WORD

offset in common memory of ??? object

CEh

BYTE

??? flag

CFh

WORD

offset in common memory of default notify window for task or 0000h if none

D1h

4 BYTEs

???

D5h

BYTE

window number on Switch Window menu

D6h

5 BYTEs

???

DBh

WORD

offset in common memory of ??? object

DDh

2 BYTEs

???

DFh

WORD

API level for task

E1h

WORD

offset in common memory of object task is waiting on if task status is 'waiting', else 0000h

E7h

WORD

segment of ???

E9h

4 BYTEs

???

EDh

WORD

EMS handle of virtualization buffer, 0000h if no virtualization

F1h

12 BYTEs

???

FBh

WORD

???

FDh

BYTE

???

FFh

12 BYTEs

???

10Bh

DWORD

pointer to process record (see #00418,#00419)

10Dh

10 BYTEs

???

119h

DWORD

SS:SP for ???

11Dh

4 BYTEs

???

121h

DWORD

pointer to ???

125h

25 BYTEs

???

13Eh

DWORD

pointer to ??? in system memory

---v2.22

142h

3 BYTEs

???

145h

task's default keyboard object

---v2.42

142h

DWORD

pointer to first task instance data record in system memory

148h

DWORD

pointer to last task instance data record in system memory (see #00420)

14Ah

BYTE

???

14Dh

42 BYTEs

task's default keyboard object

177h

32 BYTEs

task's ObjectQ object

197h

41 BYTEs

task's default mailbox object

1C0h

24 BYTEs

first register save record

450h

--

default top of private stack

---v2.52 (probably all DV/X)

Same as v2.60 below except there is an extra 29 bytes inserted somewhere before offset 9Fh, but not yet known exactly where. Also, for the WAIT_ON field (v2.60 offset E3h), some X apps (probably waiting on a socket) have 0000h even when waiting.

---v2.60

CBh

WORD

??? (added in 2.50 - rest is same as 2.42)

CDh

WORD

offset in common memory of ??? object

D0h

BYTE

??? flag

D1h

WORD

offset in common memory of default notify window for task or 0000h if none

D3h

4 BYTEs

???

D7h

BYTE

window number on Switch Window menu

D8h

5 BYTEs

???

DDh

WORD

offset in common memory of ??? object

DFh

2 BYTEs

???

E1h

WORD

API level for task

E3h

WORD

If status at B6h=waiting, offset in common memory of object that task is waiting on, else 0000h. (Task with CPU also has 0000h here)
E9h WORD segment of ???
EBh 4 BYTEs ???
EFh WORD EMS handle of virtualization buffer, 0 if no virtualization
F3h 12 BYTEs ???
FDh WORD ???
FFh BYTE ???
101h ???
109h DWORD pointer to process record in system memory
10Dh 14 BYTEs ???
11Bh DWORD SS:SP for ???
11Fh 4 BYTEs ???
123h DWORD pointer to ???
127h 25 BYTEs ???
140h DWORD pointer to ??? in system memory
144h DWORD pointer to first task instance data record in system memory
148h DWORD pointer to last task instance data record in system memory (from INT 15/AX=DE27h) (see #00420)
14Ch BYTE ???
14Eh 42 BYTEs task's default keyboard object
179h 32 BYTEs task's ObjectQ object
199h 41 BYTEs task's default mailbox object
1C2h 24 BYTEs first register save record
452h -- default top of private stack