[Toc][Index]

Overview


The VIDEOPMI interface is procedurally represented by the exported 
functions of its main handler-VIDEOPMI.DLL. This handler provides both 
32-bit and 16-bit entry points for setting a video mode, loading fonts, 
and saving and restoring the video state. The handler provides a mode 
query function and a software interrupt function, which allows for 
execution of real-mode software interrupts, such as VIDEO BIOS, from the 
protect mode. 
VIDEOPMI.DLL imports the device-specific function from the underlying 
vendor- or IBM-provided PMI subsystem. This subsystem is comprised of any 
of the following: 
   1. Flat .PMI file with no code imports. 
      Although VIDEOPMI does not mandate the .PMI file name, at the moment 
      SVGA Install and Configuration mandates \OS2\SVGADATA.PMI. Example: 
      Any OS/2 2.x .PMI file. 
   2. Flat .PMI file with imported code sections from a dynamic link 
      library (DLL). 
      This is called a HYBRID .PMI file. Imported functions are private to 
      the PMI subsystem and conform to the IMPORTPMI prototype as 
      described in the SVGADEFS.H header file. Example: Any OS/2 3.x .PMI 
      file. 
   3. Flat .PMI file with imported code sections from a DLL that chains 
      into VIDEOPMI. 
      This is called a META-HYBRID .PMI file. The shared library exports a 
      "LoadAdapter" function, which signals to VIDEOPMI that the handler 
      wishes to engage in chaining VIDEOPMI's calls. The handler is passed 
      the VIDEOPMI's calling function table and can modify the table by 
      replacing entries with its own entry points. When these entry points 
      are invoked, the handler can implement the call or pass it back to 
      VIDEOPMI. Example:  A .PMI file generated by SVGAOEM.EXE in the DDK. 
      
   4. META handler alone, without a flat file. 
      When VIDEOPMI's PMIREQUEST_LOADPMIFILE is passed a .DLL name and the 
      specified shared library exports and successfully handles the 
      "LoadAdapter" call, the PMI subsystem requires no flat file. This 
      method of customizing the PMI subsystem is not in use because SVGA 
      install, video configuration, and the virtual driver still make 
      assumptions and use the flat .PMI file. Example: OEMPMI.DLL in the 
      DDK. 
      For a full description of VIDEOPMI's procedural interface, see 
      VIDEOPMI.DLL Exported Functions. 
 

Created using Inf-PHP v.2 (c) 2003 Yuri Prokushev
Created using Inf-HTML v.0.9b (c) 1995 Peter Childs