Dynamic removal of a driver stack when a parent driver uses a child driver
AssigneeIntel Corporation
InventorRajesh R. Shah
Life of this patent
Estimating the term…
Abstract
A parent driver desiring to access a service of a child driver in a driver stack creates a virtual device object. The virtual device object is inserted into the driver stack below the child driver. When a query to dynamically remove the driver stack arrives at the virtual device object, the virtual device object notifies the parent driver. The parent driver stops accessing the child driver before directly receiving and processing the remove query, allowing the driver stack to be removed after all drivers in the driver stack process the remove query.
Claims22
A method comprising:
- creating a virtual device object representing a parent device;
- binding the virtual device object to the parent device;
- inserting the virtual device object in the driver stack below a child device;
- accessing a service of the child device by the parent device with a request from the virtual device object on behalf of the parent device;
- receiving at the virtual device object a remove query to remove the drive stack;
- sending the remove query from the virtual device object to the parent device;
- releasing by the parent device the service of the child device;
- approving the remove query after the parent device has released the service of the child device;
- passing the remove query from the virtual device object to the child device immediately above the virtual device object in the driver stack;
- and
- completing the remove query by removing the driver stack.
An article comprising:
- a storage medium, said storage medium having stored thereon instructions, that, when executed by a computing device, result in:
- creating a virtual device object representing a parent device;
- binding the virtual device object to the parent device;
- inserting the virtual device object in the driver stack below a child device;
- and
- accessing a service of the child device by the parent device with a request from the virtual device object on behalf of the parent device;
- receiving at the virtual device object a remove query to remove the driver stack;
- sending the remove query from the virtual device object to the parent device;
- releasing by the parent device the service of the child device;
- approving the remove query after the parent device has released the service of the child device;
- passing the remove query from the virtual device object to the child device immediately above the virtual device object in the driver stack;
- and
- completing the remove query by removing the driver stack.
An apparatus supporting removal of a driver stack, the apparatus comprising:
- a computer including a hardware component requiring the driver stack;
- an operating system running on the computer;
- the driver stack loaded onto the operating system and supporting the hardware component, the driver stack including at least a parent driver and a child driver, the child driver providing a service accessed by the parent driver;
- and
- a virtual driver object representing the parent driver, the virtual driver object bound to the parent driver and installed below the child driver in the driver stack, the virtual device object capable of receiving a remove query to remove the driver stack, the virtual device object further capable of sending the remove query to the parent device, the virtual device object approving the remove query after the parent device has released the service of the child device, the virtual device object then passing the remove query to the child device immediately above the virtual device object in the driver stack.
Dependencies are inferred from the claim text.