Protocol for communication with a user-mode device driver
First Claim
1. A user-mode device driver architecture comprising:
- a host process that hosts and isolates one or more user-mode device drivers; and
, a reflector that operates in kernel memory and exchanges a message with the user-mode device driver via the host process.
2 Assignments
0 Petitions
Accused Products
Abstract
A user-mode device driver architecture is provided by the subject invention. The architecture includes a reflector, a driver manager and a host process which hosts and isolates one or more user-mode device driver(s). The user-mode device driver runs in the user-mode (UM) environment and has access to various UM services. The reflector resides in “kernel memory” (e.g., memory/resource(s) available to operating system) while the driver manager, host process and user mode device driver(s) are located in user space (e.g., memory/resource(s) available to user application(s)). The reflector provides a secure, stable communication path for application(s), the host process and/or user-mode device driver(s) to communicate with the operating system. The reflector can redirect input/output (I/O) request(s) from application(s) to the user-mode device driver(s) via the host process. The driver manager can create the host process (e.g., in response to a request from the reflector), track information about the host process and/or destroy the host process (e.g., in response to a request from the reflector).
-
Citations
20 Claims
-
1. A user-mode device driver architecture comprising:
-
a host process that hosts and isolates one or more user-mode device drivers; and
,a reflector that operates in kernel memory and exchanges a message with the user-mode device driver via the host process. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method of initializing a user-mode device driver architecture comprising:
-
creating a host process in user mode in response to an add device message received from an operating system, the host process hosts and isolates one or more user-mode device drivers;
initializing the host process;
establishing a communication connection between a reflector in kernel mode and the host process; and
,building a user-mode device stack associated with the one or more user-mode device drivers. - View Dependent Claims (18, 19)
-
-
20. A data packet transmitted between two or more computer components that facilitate communication between a reflector in kernel mode and a user-mode device driver, the data packet comprising:
an LPC message corresponding to an I/O request from an application, the LPC message generated by the reflector in kernel mode.
Specification