INT 15 - TopViewTopView, DESQview, TaskView, OmniView, other compatibles - SEND MESSAGE - "READ" - READ NEXT LOGICAL LINE OF WINDOW
	AH = 12h
	BH = 04h
	BL = window to read from
	    00h handle is DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address. on top of stack
	    01h use calling task's default window
	    0Ch (DV 2.26+) default window of task owning handle on top of stack
	    0Dh (DV 2.26+) default window of parent task of current task
Return: STACK:	DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address. number of bytes read
		DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address. address of buffer
Notes:	reading starts at the current logical cursor position; the cursor is
	  updated to point at the character following the last one read
	any translucent blanks (FFh) which are visible on screen are changed
	  to the character which is seen through them
	the string produced by the read is placed in an input buffer which may
	  be reused by the next READ or READN of a window
	window stream opcodes D8h and D9h determine whether the read returns
	  characters or attributes
SeeAlso: AH=12h/BH=05h"WINDOW",AH=12h/BH=12h,AH=12h/BH=84h
                                                                                

INT 15 - TopViewTopView, DESQview, TaskView, OmniView, other compatibles - SEND MESSAGE - "READ" - GET NEXT RECORD FROM OBJECT
	AH = 12h
	BH = 04h
	BL = object
	    00h handle is DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address. on top of stack
		mailbox: wait for and get next message
		keyboard: wait for and get pointer to next input buffer
		pointer: wait for and get next message
	    02h get next message from mailbox (task's handle on top of stack)
	    03h get next message from current task's mailbox
	    04h get the next input from keyboard (handle on top of stack)
	    05h get the next input from task's default keyboard
	    06h wait for input from any object in OBJECTQ (handle on stack)
	    07h wait for input from any object in task's default OBJECTQ
Return: STACK: (if objectq) DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address. handle of object with input
	       (otherwise)  DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address. number of bytes
			    DWORDDoubleword; four bytes.	 Commonly used to hold a 32-bit segment:offset or selector:offset address. address of pointer message (see #00437)
Notes:	for a keyboard in keystroke mode, the input buffer is a single byte
	  containing the character code as returned by the BIOS(Basic Input/Output System) A set of standardized calls giving low-level access to the hardware.  The BIOS is the lowest software layer above the actual hardware and serves to insulate programs (and operating systems) which use it from the details of accessing the hardware directly.; the BIOS(Basic Input/Output System) A set of standardized calls giving low-level access to the hardware.  The BIOS is the lowest software layer above the actual hardware and serves to insulate programs (and operating systems) which use it from the details of accessing the hardware directly. scan
	  code is available via the STATUS call if the character is zero
	for a keyboard in field mode, the input buffer format is determined
	  by the field table header for the window the keyboard is attached to
	keyboard input buffers and mailbox message buffers may be invalidated
	  by the next READ, ERASE, CLOSE, or FREE message to the same object
SeeAlso: AH=12h/BH=05h"OBJECT",AH=12h/BH=84h


Format of DESQview pointer message:
Offset	Size	Description	(Table 00437)
 00h	WORD	row
 02h	WORD	column
 04h	BYTE	status (see #00438)
 05h	BYTE	field number or zero (APILEVEL >= 2.00 only)


Bitfields for DESQview pointer status:
Bit(s)	Description	(Table 00438)
 7-2	number of clicks-1 if multiple-click mode active
 7	set when press/release mode active and button pressed
 6	set when press/release mode active and button released
 1-0	button pressed (00=none,01=button1,10=button2)
SeeAlso: #00437