[Toc][Index]

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