Plug and Play BIOS Specification

Plug and Play BIOS Specification 1.0A Page 52
specified in the Plug and Play Installation Check data structure, a limit of 64K, and the descriptor must be
read/write capable. If this function is called from real mode, BiosSelector should be set to the Real Mode
16-bit data segment address as specified in the Plug and Play Installation Check structure. Refer to
section 4.4 above for more information on the Plug and Play Installation Check Structure and the
elements that make up the structure.
This function is available in real mode and 16-bit protected mode.
Example scenario: An operating system provides a device driver level-interface to both the Plug and Play
BIOS as well as the APM 1.1 (or greater) interface. An OEM or third party wishes to write a Plug and
Play device driver for a device built into the system in order to provide enhancements available through
operating-system services. However, he also wishes to power manage the device using support already
available in the machine's APM 1.1 implementation. This function provides a means for the device driver
to determine which Plug and Play identifiers have corresponding power management support through an
APM 1.1 device identifier.
Returns:
0 if successful - SUCCESS
!0 if an error (Bit 7 set) or a warning occurred - error code (The function return codes are described in
Appendix C)
The FLAGS and registers will be preserved, except for AX which contains the return code.
Example:
The following example illustrates how the 'C' style call interface could be made from an assembly
language module:
.
.
.
push Bios Selector
push segment/selector of APM Id table ; pointer to APM Id table buffer
push offset of APM Id table
push segment/selector of table buffer size ; pointer to APM Id table buffer size
push offset of APM Id table buffer size
push GET_APM_TABLE ; Function 0Bh
call FAR PTR entryPoint
add sp,12 ; Clean up stack
cmp ax,SUCCESS ; Function completed successfully?
jne error ; No-handle error condition
.
.
.