INT 2F - DESQview v2.26+ XDIsee External Device Interface - CUSTOM SUBFUNCTION, DVSIXDI.COM AX = DE01h BX = 7575h CX = function 0000h installation check Return: AX = 00FFh if installed 0001h turn on notification (currently unused) Return: AX = 0001h 0002h turn off notification (currently unused) Return: AX = 0001h 0003h get process information Return: AX = status 0000h failed 0001h successful BX = last instantaneous time slice in 1/100s (v1.10) in 1/18s (v1.11+) CX = number of processes DX = number of "(starting)" records (v2.00+) SI = number of records in process info array (v2.00+) (always 15 for v1.x) ES:DI -> process info array (see #03101,#03102) 0004h get version Return: AH = major version AL = minor version 0005h (v1.10+) get time since DESQview started Return: DX:AX = 1/100s since DV start (v1.10) DX:AX = 1/18s since DV start (v1.11+) 0006h (v1.10+) get number of task switches Return: DX:AX = total task switches CX = task switches in last instantaneous interval Notes: DVSIXDI is part of the DVSI (DESQview System Information) package by Daniel J. Bodoh for v1.00, function 0003h allocates common memory, which the caller must deallocate after reading the process information; only the currently used records are placed in the buffer for v1.10+, function 0003h merely returns a pointer to the internal array of process information; the caller should make a copy of the array while inside a critical section (see INT 15/AX=101Bh). Only those records with bit 7 of the first byte set are valid. Index: installation check;DVSIXDI Format of DVSIXDI v1.00 information for one process: Offset Size Description (Table 03101) 00h BYTE flags bit 7: process slot is valid 01h WORD offset into DESQVIEW.DVO of program's record if started from Open Windows menu, else undefined 03h WORD Switch Windows window number 05h WORD segment of process handle 07h WORD number of tasks owned by process 09h WORD mapping context of process (see #00416 at INT 15/AX=1016h) 0Bh DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. hook for other programs Format of DVSIXDI v1.10-v2.00 information for one process: Offset Size Description (Table 03102) 00h BYTE process flags (see #03103) 01h WORD Open Window keys 03h WORD Switch Windows number 05h WORD segment of process handle 07h WORD number of tasks for process 09h WORD process mapping context 0Bh DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. time process started (relative to start of DESQview) 0Fh DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. time process last got CPU(Central Processing Unit) The microprocessor which executes programs on your computer. (relative to start of DESQview) 13h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. time process last gave up CPU(Central Processing Unit) The microprocessor which executes programs on your computer. (relative to start of DESQview) 17h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. total CPU(Central Processing Unit) The microprocessor which executes programs on your computer. time since process started 1Bh DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. CPU(Central Processing Unit) The microprocessor which executes programs on your computer. time at start of current instantaneous interval 1Fh DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. CPU(Central Processing Unit) The microprocessor which executes programs on your computer. time in current instantaneous interval 23h DWORDDoubleword; four bytes. Commonly used to hold a 32-bit segment:offset or selector:offset address. hook for other programs Note: all times are in 1/100s for v1.10, in 1/18s for v1.11+ Bitfields for DVSIXDI process flags: Bit(s) Description (Table 03103) 7 valid record 6 (v2.00+) record is allocated; if bit 7 clear, process is "(starting)" and only offsets 01h and 09h are valid 5 (v2.00+) this app currently owns the CPU(Central Processing Unit) The microprocessor which executes programs on your computer. 4 reserved (0) 3 DESQview system task 2 reserved (0) 1 task has keyboard (currently unused) 0 task swapped out (currently unused)