![[Toc]](../../toc.gif)
![[Index]](/idx.gif)
PMI Functions
A PMI function is defined as a PMI Section with a user-defined name other
than one of the predefined Section names.
PMI functions have the following characteristics:
* Argument passing is performed using registers.
* Functions can be of either the VOID type (no return value) or of the
APIRET type (return 0 for success and nonzero for failure).
* Function prototypes are not explicitly declared; the calling section
has to understand how many and which registers need to be set and
set them before calling the function.
* Functions are invoked by specifying the function name in a section.
* Functions must be declared prior to their use.
* A function may be called from within a function.
* Recursions are not allowed.
* There is no explicit exit or return command from functions.
* The last command or assignment in the function's section is
considered its exit point.
PMI functions should be used extensively to create commonality and to
encapsulate related operations. This use will reduce development costs,
support more adapter-specific variations, reduce the size of the .PMI
file, and improve performance.
The VIDEO_ADAPTER structure is passed by PMI procedural callers at every
PMI entry point and is available to all of the PMI functions other than
IdentifyAdapter. All PMI functions have addressability to the current
state of the PMI registers and care should be taken in using the
registers.
Created using Inf-PHP v.2 (c) 2003 Yuri Prokushev
Created using Inf-HTML v.0.9b (c) 1995 Peter Childs