both drivers, via the IDC system interface, and applications, via an IOCTL interface, to send and receive PnP messages and poll for PnP events.
OS/2 lacks a configuration manager, and it can't load and unload device drivers to accommodate the hardware changes involved in docking and undocking. OS/2's resource manager resolves resource conflicts only at boot-up time. To make devices absent at boot-up time able to start working after a warm dock, OS/2 emulates dock devices so that all necessary drivers load at boot-up time.
OS/2 also assigns resources such as drive letters to devices at boot-up time, whether they're attached or not--something Win 95 doesn't do well. If you boot undocked, a SCSI hard drive in the dock can't become active with docking, because it has no drive letter.
With Dock II under OS/2, if you boot while docked, the device driver for the SCSI controller in the dock checks for new devices and updates its configuration to emulate th
e presence of the device the next time you boot with the unit undocked. OS/2 assigns a drive letter for the device, which is not really there.
Activation of new hardware during docking relies on APM, the battery management specification from Intel and Microsoft. OS/2 hardware drivers already had APM capability to support laptops and machines where devices power down. The OS/2 docking support relies on APM to do the actual work of activating and deactivating device drivers.
An alert program (DOCKMGR.EXE) in the Dock II support package polls the PnP BIOS for event messages. When you press the undock button on the front of the Dock II, or insert a ThinkPad into the dock, this GUI program catches the ABOUT_TO_CHANGE_CONFIG PnP message and puts up a screen that gives you the choice to continue or abort the undocking. If you choose to continue, the GUI program acknowledges the PnP docking message, and the BIOS initiates an APM suspend. Resuming causes the OS/2 device drivers to reevaluate the hardware
environment and either initialize the hardware in the dock or handle missing hardware for an undock.
Barry Kasindorf is chief scientist at Communica, Inc., a system software design company in Bourne, Massachusetts. You can reach him on the Internet or BIX at bkasindorf bix.com.