A system and method for providing an extensibility model to create device
simulators. The system and method provide a generalized framework for the
simulation of hardware devices controlled by software drivers with user
and kernel mode programmability. The present invention also provides a
framework that facilitates communication between applications operating
user address space of an operating system and device drivers and device
simulators operating in kernel mode address space of the operating
system. In one embodiment, a framework provides a bi-directional
communication channel that allows a test application in user address
space of an operating system to communicate with a computer component
operating in kernel address space of the operating system.