## Display Device Driver Reference for OS/2

[prev][next][parent][TOC]

### VIDEOMODEINFO

The VIDEOMODEINFO data structure receives information for the current video monitor.

Note: The cb and ulColors fields are new to VIDEDOMODEINFO. The color depth field (ulColors) was introduced to differentiate between pixel and color depth.

    typedef struct _VIDEOMODEINFO {

      ULONG      cb;                  /*  Size of the structure. */

      MODEID     miModeId;            /*  Used to make a SetMode request. */

      USHORT     usType;              /*  Flag indicating mode type. */

      USHORT     usInt10ModeSet;      /*  Interrupt 10 mode. */

      USHORT     usXResolution;       /*  Horizontal pixels. */

      USHORT     usYResolution;       /*  Vertical scanlines. */

      ULONG      ulBufferAddress;     /*  Physical address of VRAM. */

      ULONG      ulApertureSize;      /*  VRAM aperture. */

      ULONG      ulColors;            /*  Color depth. */

      BYTE       bBitsPerPixel;       /*  Pixel depth. */

      BYTE       bBitPlanes;          /*  Number of planes. */

      BYTE       bXCharSize;          /*  Font width. */

      BYTE       bYCharSize;          /*  Font height. */

      USHORT     usBytesPerScanLine;  /*  Number of bytes per scan line. */

      USHORT     usTextRows;          /*  Number of text rows. */

      ULONG      ulPageLength;        /*  Number of bytes to save a plane. */

      ULONG      ulSavesize;          /*  Total bytes of VRAM to save. */

      BYTE       bVrtRefresh;         /*  Vertical refresh rate. */

      BYTE       bHrtRefresh;         /*  Horizontal refresh rate. */

      BYTE       bVrtPolPos;          /*  Vertical polarity. */

      BYTE       bHrtPolPos;          /*  Horizontal polarity. */

      USHORT     usScrnTop;           /*  Vertical blanking away from the top, in line counts. */

      USHORT     usScrnBottom;        /*  Vertical blanking away from the bottom, in line counts. */

      USHORT     usScrnLeft;          /*  Horizontal blanking away from the left, in pixel counts. */

      USHORT     usScrnRight;         /*  Horizontal blanking away from the right, in pixel counts. */

      CHAR       szColorFormat[8];    /*  Color format string for true color or high-color modes. */

      CHAR       szColorWeight[8];    /*  Color weight string for true color or high-color modes. */

    } VIDEOMODEINFO;

    typedef   VIDEOMODEINFO   * FAR   * PVIDEOMODEINFO ;