VDD_SET_USER_FLAGS

Call With

EAX = VDD_SET_USER_FLAGS equate (88H)

EBX = Magic Number

DX:CX = Selector:Offset address of optional EnabledFlag in display driver's data segment. This is a byte flag which is set to 0 when it is safe for the display driver to draw, and 1 when the display driver should not draw, for example, when in a full-screen MS-DOS session.

Return Values

AX contains 0 upon success or -1 upon failure.

Remarks

This function is for display drivers that do not use the BUSY flag in the Windows 95 DIB Engine to determine whether the Windows hi-res screen is enabled or a full-screen MS-DOS session is enabled. This function is not recommended, the preferred method is to use the DIB engine. Although this function is not recommended for Windows 95 drivers, it allows display drivers to register the Selector:Offset address of a byte lengthed BUSY flag which is set by the Main VDD to 1 whenever the video focus is set to a full-screen MS-DOS session and to 0 whenever the video focus is on Windows.

The BUSY flag is one of the flags that may be set in the deFlags member of the DIB engine's PDEVICE structure. When set, it indicates that the display hardware cannot be accessed. The address of the BUSY flag is set by the Windows 95 GDI using the VDD_SET_BUSY_FLAG_ADDR function. This flag is automatically set by the Main VDD whenever the screen group is switched away from the Windows hi-res screen to a full-screen MS-DOS session. When this flag is set, the display driver must not draw on the display surface since the video focus is on a full-screen MS-DOS seesion and doing so would corrupt the appearance of the MS-DOS session. This protocol is necessary since Windows may call display driver functions such as SetCursor, MoveCursor, BitBlt, ExtTextOut, etc. even after the video focus is set onto a full-screen MS-DOS session.

This function calls no mini-VDD functions.

See also VDD_SET_BUSY_FLAG_ADDR