en:docs:fapi:viogetmode

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

VioGetMode

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

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 */

MASM

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