Plug and Play BIOS Specification

Plug and Play BIOS Specification 1.0A Page 40
OEM_DEFINED_MESSAGES 8000h
thru
FFFFh
This message allows OEMs to define messages specific to their
system implementation. These messages are only comprehended
by the OEM. These messages are identified by the upper bit of
the message.
If the system BIOS does not support one of the specified messages, this function will return
MESSAGE_NOT_SUPPORTED.
The BiosSelector parameter enables the system BIOS, if necessary, to update system variables that are
contained in the system BIOS memory space. If this function is called from protected mode, the caller
must create a data segment descriptor using the 16-bit Protected Mode data segment base address
specified in the Plug and Play Installation Check data structure, a limit of 64KB, 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.
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 Message ; Message
push SEND_MSG ; Function 4
call FAR PTR entryPoint
add sp,6 ; Clean up stack
cmp ax,SUCCESS ; Function completed successfully?
jne error ; No-handle error condition
.
.
.