This invention involves user mode proxy of kernel mode operations in a
computer operating system. The broad contours of the invention allow
drivers operating in the kernel mode of an operating system to be proxied
by a corresponding user mode object. A user mode process wishing to
communicate with or manipulate the kernel mode driver may perform such
communication or manipulation by communicating with or manipulating the
corresponding user mode proxy. The present invention has particular
applicability to emerging operating systems which allow kernel mode
drivers to be interconnected in order to create a processing stream in the
kernel where data is passed from kernel mode driver to kernel mode driver
without transitioning to user mode. User mode proxy of such kernel mode
drivers allows user mode processes to manipulate such kernel mode drivers
using familiar user mode protocols without the necessity of learning new
kernel mode protocols.