![[Toc]](../../toc.gif)
![[Index]](/idx.gif)
VIDEOPMI.DLL Exported Functions
VIDEOPMI is a 32-bit dynamic link library (DLL) that represents the main
Video Protect-Mode Interface handler on OS/2 Warp.
VIDEOPMI exports a single 32-bit or a 16-bit entry point
(VIDEOPMI32Request or VIDEOPMI16Request), depending on which one of its
numerous base video functions can be invoked-SetMode, SetPalette, SetFont,
and so on. All of the exported entry points are prototyped, together with
the PMI-related structures, in the common header file SVGADEFS.H. See
VIDEOPMI32Request for details about this single entry point.
VIDEOPMI imports device-specific functions from the underlying PMI
subsystem, as provided by the video chip vendor. The PMI subsystem can be
a flat .PMI file, a .DLL shared library, or a combination of the two. See
VIDEO Protect-Mode Interface for more information on the PMI subsystem.
All VIDEOPMI functions, except PMIREQUEST_SOFTWAREINT, require that the
PMI subsystem be loaded by issuing PMIREQUEST_LOADPMIFILE and that the
VIDEO_ADAPTER "hvideo" handle and "adapter instance" be passed into the
new request.
The ADAPTERINFO and VIDEOMODEINFO data structures, within VIDEO_ADAPTER,
are sizable. The AdapterInfo_cb and VideoModeInfo_cb fields should be set
by the caller of VIDEOPMI. The adapter handle and instance allow VIDEOPMI
and the underlying PMI subsystem to differentiate target adapters in the
case of multiple devices. VIDEOPMI is also allowed to target a preferred
PMI subsystem for a single video device when running multiple PMI
subsystems that provide complimentary but distinct functions.
VIDEOPMI's most important function is video mode set. VIDEOPMI exports an
API to query how many mode sets are supported, as well as a mode query API
that will copy the mode table into a client-allocated memory block.
VIDEOMODEINFO is a sizable data structure. The VideoModeInfo_cb field
should be checked before assuming VIDEOMODEINFO format. Each mode in the
table contains a mode ID that should be returned when issuing the mode.
However, mode setting is parametric. The underlying PMI subsystem allows
(if implemented correctly by the vendor) for individual mode parameters to
be set to the desired value, rather than to the value in the VIDEOMODEINFO
structure for that mode ID in the mode table.
Note: Clients issuing a [SetMode] are obligated to set VIDEO_ADAPTER and
VIDEOMODEINFO structures to desired values, even if they are the
same as the mode ID values; otherwise, some mode parameters may not
be set correctly.
There is only one exported entry point for VIDEOPMI. The various
PMI services are accessed through different function numbers passed
in the parameters. The exported entry point is prototyped, together
with the PMI-related structures, in the common header file
SVGADEFS.H.
Created using Inf-PHP v.2 (c) 2003 Yuri Prokushev
Created using Inf-HTML v.0.9b (c) 1995 Peter Childs