en:docs:fapi:viogetmode

This is an old revision of the document!


This is part of Family API which allow to create dual-os version of program runs under OS/2 and DOS

Note: This is legacy API call. It is recommended to use 32-bit equivalent

2021/09/17 04:47 · prokushev · 0 Comments
2021/08/20 03:18 · prokushev · 0 Comments

This call returns the mode of the display.

Syntax

VioGetMode (ModeData, VioHandle)

Parameters

;ModeData (PVIOMODEINFO) - input/output : Far address of a structure where mode characteristics are returned. ;VioHandle (HVIO) - input : Reserved word of 0s.

Return Code

;rc (USHORT) - return:Return code descriptions are: *0 NO_ERROR *436 ERROR_VIO_INVALID_HANDLE *438 ERROR_VIO_INVALID_LENGTH *465 ERROR_VIO_DETACHED *494 ERROR_VIO_EXTENDED_SG

Remarks

Refer to VioSetMode for examples.

Bindings

C

<PRE> typedef struct _VIOMODEINFO {

USHORT cb;                  /* Length of the entire data structure */
UCHAR  fbType;              /* Bit mask of mode being set          */
UCHAR  color;               /* Number of colors (power of 2)       */
USHORT col;                 /* Number of text columns              */
USHORT row;                 /* Number of text rows                 */
USHORT hres;                /* Horizontal resolution               */
USHORT vres;                /* Vertical resolution                 */
UCHAR  fmt_ID;              /* Attribute format                    */
UCHAR  attrib;              /* Number of attributes                */
ULONG  buf_addr;
ULONG  buf_length;
ULONG  full_length;
ULONG  partial_length;
PCH    ext_data_addr;
} VIOMODEINFO;

typedef VIOMODEINFO far *PVIOMODEINFO;

#define INCL_VIO

USHORT rc = VioGetMode(ModeData, VioHandle);

PVIOMODEINFO ModeData; /* Mode characteristics */ HVIO VioHandle; /* Vio handle */

USHORT rc; /* return code */ </PRE>

MASM

<PRE> VIOMODEINFO struc

viomi_cb             dw ? ;Length of the entire data structure
viomi_fbType         db ? ;Bit mask of mode being set
viomi_color          db ? ;Number of colors (power of 2)
viomi_col            dw ? ;Number of text columns
viomi_row            dw ? ;Number of text rows
viomi_hres           dw ? ;Horizontal resolution
viomi_vres           dw ? ;Vertical resolution
viomi_fmt_ID         db ? ;Attribute format
viomi_attrib         db ? ;Number of attributes
viomi_buf_addr       dd ? ;
viomi_buf_length     dd ? ;
viomi_full_length    dd ? ;
viomi_partial_length dd ? ;
viomi_ext_data_addr  dd ? ;

VIOMODEINFO ends

EXTRN VioGetMode:FAR INCL_VIO EQU 1

PUSH@ OTHER ModeData ;Mode characteristics PUSH WORD VioHandle ;Vio handle CALL VioGetMode

Returns WORD </PRE>