Input/output request packet handling techniques by a device specific kernel mode driver
First Claim
Patent Images
1. One or more non-transitory computing device readable media having computing device executable instructions which when executed perform a method comprising:
- receiving, by a device specific kernel mode driver, a dispatch table including a pluralityy of input/output manager function pointers;
sending, by the device specific kernel mode driver to an operating system kernel mode driver, the dispatch table including the plurality of input/output manager function pointers;
receiving, by the device specific kernel mode driver, a dispatch table including the plurality of input/output manager function pointers and a plurality of operating system function pointers;
storing, by the device specific kernel mode driver, the dispatch table including the plurality of input/output manager function pointers and the plurality of operating system function pointers;
creating, by the device specific kernel mode driver, a dispatch table including the plurality of input/output manager function pointers and the plurality of operating system functions wherein one or more of the operating system function pointers are replaced by one or more device specific kernel mode driver function pointers;
sending, by the device specific kernel mode driver to an input/output manager, the dispatch table including, the plurality of input/output manager function pointers and the plurality of operating system functions wherein one or more of the operating system function pointers are replaced by one or more device specific kernel mode driver function pointers;
receiving, by a device specific kernel mode driver, a input/output request packet from the input/output manager based on the dispatch table including the plurality of input/output manager function pointers and the plurality of operating system functions wherein one or more of the operating system function pointers are replaced by one or more device specific kernel mode driver function pointers from the device specific kernel mode driver to the input/output manager;
determining, by the device specific kernel mode driver, if the input/output request packet is to receive a given handling;
dispatching, by the device specific kernel mode driver using an operating system function pointer in the dispatch table stored by the device specific kernel mode driver, the input/output request packet to a device specific dispatch input/output request packet handler if the input/output request packet is to receive the given handling; and
redirecting, by the device specific kernel mode driver using an operating system function pointer in the dispatch table stored by the device specific kernel mode driver, the input/output request packet to an operating system dispatch input/output request packet handler if the input/output request packet is not to receive the given handling.
1 Assignment
0 Petitions
Accused Products
Abstract
The input/output request packet (IRP) handling technique includes determining if a received input/output request packet should receive a given handling. If the input/output request packet should receive the given handling, the input/output request packet is dispatched to a device specific dispatch input/output request packet handler. Otherwise, the input/output request packet is redirected to an operating system dispatch input/output request packet handler.
425 Citations
16 Claims
-
1. One or more non-transitory computing device readable media having computing device executable instructions which when executed perform a method comprising:
-
receiving, by a device specific kernel mode driver, a dispatch table including a pluralityy of input/output manager function pointers; sending, by the device specific kernel mode driver to an operating system kernel mode driver, the dispatch table including the plurality of input/output manager function pointers; receiving, by the device specific kernel mode driver, a dispatch table including the plurality of input/output manager function pointers and a plurality of operating system function pointers; storing, by the device specific kernel mode driver, the dispatch table including the plurality of input/output manager function pointers and the plurality of operating system function pointers; creating, by the device specific kernel mode driver, a dispatch table including the plurality of input/output manager function pointers and the plurality of operating system functions wherein one or more of the operating system function pointers are replaced by one or more device specific kernel mode driver function pointers; sending, by the device specific kernel mode driver to an input/output manager, the dispatch table including, the plurality of input/output manager function pointers and the plurality of operating system functions wherein one or more of the operating system function pointers are replaced by one or more device specific kernel mode driver function pointers; receiving, by a device specific kernel mode driver, a input/output request packet from the input/output manager based on the dispatch table including the plurality of input/output manager function pointers and the plurality of operating system functions wherein one or more of the operating system function pointers are replaced by one or more device specific kernel mode driver function pointers from the device specific kernel mode driver to the input/output manager; determining, by the device specific kernel mode driver, if the input/output request packet is to receive a given handling; dispatching, by the device specific kernel mode driver using an operating system function pointer in the dispatch table stored by the device specific kernel mode driver, the input/output request packet to a device specific dispatch input/output request packet handler if the input/output request packet is to receive the given handling; and redirecting, by the device specific kernel mode driver using an operating system function pointer in the dispatch table stored by the device specific kernel mode driver, the input/output request packet to an operating system dispatch input/output request packet handler if the input/output request packet is not to receive the given handling. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. One or more non-transitory computing device readable media having, computing device executable instructions which when executed perform a method comprising:
-
passing a dispatch table including a plurality of input/output manager function pointers from an input/output manager to a device specific kernel mode driver; passing the dispatch table including the plurality of input/output manager function pointers from the device specific kernel mode driver to an operating system kernel mode driver; passing a dispatch table including the plurality of input/output manager function pointers and a plurality of operating system function pointers from the operating system kernel mode driver to the device specific kernel mode driver; storing the dispatch table including the plurality of input/output manager function pointers and the plurality of operating system function pointers in a dispatch table of device specific kernel mode driver; passing a dispatch table including the plurality of input/output manager function pointers and the plurality of operating system functions wherein one or more of the operating system function pointers are replaced by one or more device specific kernel, mode driver function pointers from the device specific kernel mode driver to the input/output manager; passing a input/output request packet from the input/output manager to a dispatch function of the device specific kernel mode driver based on the dispatch table including the plurality of input/output manager function pointers and the plurality of operating system functions wherein one or more of the operating system function pointers are replaced by one or more device specific kernel mode driver function pointers from the device specific kernel mode driver to the input/output manager; determining, by the dispatch function, if the input/output request packet should receive a given handling; dispatching the input/output request packet from the dispatch function to a device specific dispatch input/output request packet handler if the input/output request packet is to receive the given handling; and redirecting the input/output request packet from the dispatch function to an operating system dispatch input/output request packet handler if the input/output request packet is not to receive the given handling. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
Specification