VDD Functions
There are currently ten function calls that a display driver can make into the VDD subsystem. Any Ring 3 Windows program can call these functions, but their use outside of Windows core components such as the display driver are limited. You must include MINIVDD.INC in your source files if you want to call these functions.
Before using any of the VDD functions from a Ring 3 driver you must call the following Interrupt 2Fh functions.
- Call Interrupt 2Fh, Function 1684h passing device ID 0Ah (0Ah is the device ID for the VDD) in the BX register. This will return the entry point that the ring 3 driver can call whenever it wants to call a VDD function. You should save this Selector:Offset address which is returned in ES:DI. If you get a NULL pointer back, it means that the VDD has not been loaded and that the system is in an unstable state.
- Call Interrupt 2Fh, Function 1683h. This returns a magic number in the BX register that you should save because you must use this number whenever calling the VDD's entry point. This document will refer to the return value from this call as the Magic number.