Technical Reference Guide
To support Windows NT an additional table to the BIOS32 table has been defined to contain 32-
bit pointers for the DDC locations. The Windows NT extension table is as follows:
; Extension to BIOS SERVICE directory table (next paragraph)
db “32OS” ; sig
db 2 ; number of entries in table
db “$DDC” ; DDC POST buffer sig
dd ? ; 32-bit pointer
dw ? ; byte size
db “$ERB” ; ESCD sig
dd ? ; 32-bit pointer
dw ? ; bytes size
The service identifier for client management functions is “$CLM.” Once the service identifier is
found and the checksum verified, a FAR call is invoked using the value specified at offset 04h to
retrieve the CM services entry point. The following entry conditions are used for calling the
Desktop Management service directory:
INPUT:
EAX = Service Identifier [$CLM]
EBX (31..8) = Reserved
EBX (7..0) = Must be set to 00h
CS = Code selector set to encompass the physical page holding
entry point as well as the immediately following physical page.
It must have the same base. CS is execute/read.
DS = Data selector set to encompass the physical page holding
entry point as well as the immediately following physical page.
It must have the same base. DS is read only.
SS = Stack selector must provide at least 1K of stack space and be 32-bit.
(I/O permissions must be provided so that the BIOS can support as necessary)
OUTPUT:
AL = Return code:
00h, requested service is present
80h, requested service is not present
81h, un-implemented function specified in BL
86h and CF=1, function not supported
EBX = Physical address to use as the selector BASE for the service
ECX = Value to use as the selector LIMIT for the service
EDX = Entry point for the service relative to the BASE returned in EBX
The following subsections provide a brief description of key Client Management functions.
Compaq Evo and Workstation Personal Computers
Featuring the Intel Pentium 4 Processor
Second Edition - January 2003
7-13