User mode device driver interface for translating source code from the user mode device driver to be executed in the kernel mode or user mode
First Claim
Patent Images
1. A method for operating a computer system, comprising:
- executing a graphics engine in a kernel mode of operation;
executing a device driver in a user mode of operation, wherein the device driver communicates with the graphics engine executing in kernel mode; and
interfacing the graphics engine and the device driver by translating calls to the kernel mode from the graphics engine to calls executed by the device driver in the user mode and translating calls to the user mode from the device driver to calls executed by the graphics engine in the kernel mode.
2 Assignments
0 Petitions
Accused Products
Abstract
A user mode device driver interface (UMDDI) is disclosed. The UMDDI is preferably implemented in Windows® NT® version 5.0 and similar systems. The UMDDI allows a device driver to execute in user-mode while the graphics engine (GRE) remains in kernel-mode. The UMDDI exists as a layer between the user-mode driver and GRE; from the perspective of GRE, it encapsulates the user-mode driver and makes it appear to be a normal kernel-mode driver. The UMDDI layer handles the kernel-to-user and user-to-kernel transitions, parameter validation, and management of the kernel-mode and user-mode data and objects.
52 Citations
19 Claims
-
1. A method for operating a computer system, comprising:
-
executing a graphics engine in a kernel mode of operation;
executing a device driver in a user mode of operation, wherein the device driver communicates with the graphics engine executing in kernel mode; and
interfacing the graphics engine and the device driver by translating calls to the kernel mode from the graphics engine to calls executed by the device driver in the user mode and translating calls to the user mode from the device driver to calls executed by the graphics engine in the kernel mode. - View Dependent Claims (2, 3, 4, 5, 6)
-
- 7. An article of manufacture comprising a computer readable medium encoded with an interface computer program executable on a suitably configured computer to provide communications between a graphics engine executing in a kernel mode of an operating system and a user mode device driver executing in a user mode of the operating system, wherein the interface computer program translates (1) kernel mode calls from the graphics engine to calls executable by the device driver in user mode and (2) user mode calls from the device driver to calls executable by the graphics engine in kernel mode.
-
11. A computer system comprising:
-
a graphics engine executing in a kernel mode of an operating system;
a device driver executing in a user mode of an operating system and communicating with the graphics engine; and
an interface program for translating (1) kernel mode calls from the graphics engine to calls executable by the device driver in user mode and (2) user mode calls from the device driver to calls executable by the graphics engine in kernel mode. - View Dependent Claims (12, 13, 14, 15)
-
- 16. A computer program encoded in a machine readable medium and including a first object executable in a kernel mode of the operating system, a second object executable in a user mode of the operating system, and an interface program executable in both the kernel mode and the user mode, the interface program coupled between the first and second objects for translating kernel mode calls from the first object to calls executable in user mode by the second object, and translating user mode calls from the second object to calls executable in kernel mode by the first object.
Specification