VioSetState
Bindings: C, MASM
This call performs one of the following functions; set palette registers,
sets the overscan (border) color, set the blink/background intensity
switch, set color registers, set the underline location, or set the target
VioSetMode display configuration.
VioSetState (RequestBlock, VioHandle)
RequestBlock (PVOID) - input
Address of the video state structures consisting of six different
structures depending on the request type:
Type Definition
0 Set palette registers
1 Set overscan (border) color
2 Set blink/background intensity switch
3 Set color registers
4 Reserved
5 Set underline location
6 Set target VioSetMode display configuration
7 Reserved The six structures, depending on request type, are:
VIOPALSTATE
Applies to EGA, VGA, or IBM Personal System/2 Display Adapter.
length (USHORT) - input
Length of structure, including length.
38 Maximum valid value.
reqtype (USHORT) - input
Request type 0 for palette registers.
palette (USHORT) - input
First palette register in the palette register sequence; must be
specified in the range 0 through 15. The palette registers are
returned in sequential order. The number returned is based upon
length.
color (USHORT*(length-6)/2) - input
Color value for each palette register. The maximum number of
entries in the color value array is 16.
VIOOVERSCAN
Applies to CGA, VGA, or IBM Personal System/2 Display Adapter.
length (USHORT) - input
Length of structure, including length.
6 Only valid value.
reqtype (USHORT) - input
Request type 1 for overscan (border) color.
color (USHORT) - input
Color value.
VIOINTENSITY
Applies to CGA, EGA, MCGA, VGA, or IBM Personal System/2 Display
Adapter.
length (USHORT) - input
Length of structure, including length.
6 Only valid value.
reqtype (USHORT) - input
Request type 2 for blink/background intensity switch.
switch (USHORT) - input
Switch set as:
Value Definition
0 Blinking foreground colors enabled.
1 High intensity background colors enabled.
VIOCOLORREG
Applies to VGA, or IBM Personal System/2 Display Adapter.
length (USHORT) - input
Length of structure, including length.
12 Only valid value.
type (USHORT) - input
Request type 3 for color registers.
first color (USHORT) - input
First color register to set in the color register sequence;
must be specified in the range 0 through 255. The color
registers are set in sequential order.
number color (USHORT) - input
Number of color registers to set; must be specified in the
range 1 through 256.
datarea (PCH) - input
Far address of a data area containing one three-byte entry
for each color register to be set. The format of each entry
is as follows:
Byte 1 Red value
Byte 2 Green value
Byte 3 Blue value.
VIOSETULINELOC
Applies to EGA, VGA, or IBM Personal System/2 Display Adapter.
length (USHORT) - input
Length of structure, including length.
6 Only valid value.
type (USHORT) - input
Request type 5 to set the scan line for underlining.
Underlining is enabled
only when the foreground color is 1 or 9.
scanline (USHORT) - input
Scan line minus 1. Values of 0 through 31 are acceptable. A
value of 32 means underlining is disabled.
VIOSETTARGET
length (USHORT) - input
Length of structure, including length.
6 Only valid value.
type (USHORT) - input
Request type 6 to set display configuration to be the target
of the next VioSetMode.
select (USHORT) - input
Configuration:
Value Definition
0 Default selection algorithm. See VioSetMode.
1 Primary
2 Secondary.
VioHandle (HVIO) - input
Reserved word of 0s.
rc (USHORT) - return
Return code descriptions are:
0 NO_ERROR
355 ERROR_VIO_MODE
421 ERROR_VIO_INVALID_PARMS
436 ERROR_VIO_INVALID_HANDLE
438 ERROR_VIO_INVALID_LENGTH
465 ERROR_VIO_DETACHED
494 ERROR_VIO_EXTENDED_SG
Family API Considerations
Request type = 6, Set Target VioSetMode Display Configuration, and
request type = 5,
Set Underline Location, are not supported in the family API.
Some options operate differently in the DOS mode than in the OS/2 mode.
Therefore, the following considerations applies to VioSetMode when
coding for the DOS mode:
VioSetMode clears the screen.
Created using Inf-PHP v.2 (c) 2003 Yuri Prokushev
Created using Inf-HTML v.0.9b (c) 1995 Peter Childs