Isolation of user-mode device drivers
First Claim
1. A host process component of a user-mode device driver architecture comprising:
- a message handler that receives a message from a reflector in kernel mode, generates a user mode IRP comprising the message, and, stores the user mode IRP in a user mode IRP store; and
, a device stack object that identifies a user-mode device driver associated with a device, constructs a device stack associated with the device, and, instantiates framework objects associated with the device stack, the framework objects facilitates communication with the user mode device driver.
2 Assignments
0 Petitions
Accused Products
Abstract
A host process for use in a user-mode device driver architecture is provided by the subject invention. The architecture includes a reflector, a driver manager and the 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 host process can include a host runtime component and a framework component. The host runtime component is responsible for building a driver stack object, and, locating/loading object(s) of a framework component. The host runtime component further includes a message handler that facilitates communication with the reflector and routes information to components of the host process.
39 Citations
20 Claims
-
1. A host process component of a user-mode device driver architecture comprising:
-
a message handler that receives a message from a reflector in kernel mode, generates a user mode IRP comprising the message, and, stores the user mode IRP in a user mode IRP store; and
,a device stack object that identifies a user-mode device driver associated with a device, constructs a device stack associated with the device, and, instantiates framework objects associated with the device stack, the framework objects facilitates communication with the user mode device driver. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method of adding a device in a user-mode device driver architecture comprising:
-
building a user mode IRP based on a request to add a device;
inserting the user mode IRP into a user mode IRP store;
identifying drivers associated with the user mode IRP;
constructing a device stack associated with the driver identified;
instantiating framework objects associated with the device stack; and
,initializing the identified drivers. - View Dependent Claims (18, 19)
-
-
20. A data packet transmitted between two or more computer components that facilitates communication between a host process and a user-mode device driver, the data packet comprising:
a user mode IRP corresponding to an I/O request from an application, the user mode IRP message generated by the host process in user mode.
Specification