Validating the creation of and routing of messages to file objects
First Claim
1. In a computer having an operating system, a method of validating the creation of file objects in a standardized manner so as to eliminate the need for third party driver developers to write validation code, the method comprising the acts of:
- receiving, at a driver object associated with the operating system, a request to create a requested file object of a particular type;
accessing a file type validation table that includes;
file object type identifiers representing valid file object types, the file type validation table referencing create handlers associated with the file object type identifiers; and
a wildcard entry, the file type validation table further referencing a default create handler associated with the wildcard entry;
comparing the particular type of file object specified in the request with the file object type identifiers in the file type validation table;
if the particular type matches one of the file object type identifiers, then using the create handler associated with the matched file object type identifier to create the requested file object; and
if the particular type does not match one of the file object type identifiers, then using the default create handler associated with the wildcard entry to create a file object having a default file object type.
2 Assignments
0 Petitions
Accused Products
Abstract
A method is provided to overcome excess code development associated with developing device drivers that are hierarchically related and provides standardization to driver developers by listing in the private area of a device object types of file objects, including specific IRP handlers associated therewith, that may be created under that device object to thereby provide a device object context. In like manner, each file object has listed in the private area types of other file objects, again including specific IRP handlers associated therewith, that may be created under that particular file object to thereby provide a file object context. The default handler for a driver object points to a multiplexing function that processes an incoming IRP based on the available context information to “route” the IRP to the appropriate handler. Each file object has reference to a plurality of dispatch function references that are used by the IRP handlers to fulfill a particular request. A request to create a file object is also validated to ensure that only file objects of the appropriate type may be created in hierarchy, again according to the context information.
27 Citations
22 Claims
-
1. In a computer having an operating system, a method of validating the creation of file objects in a standardized manner so as to eliminate the need for third party driver developers to write validation code, the method comprising the acts of:
-
receiving, at a driver object associated with the operating system, a request to create a requested file object of a particular type;
accessing a file type validation table that includes;
file object type identifiers representing valid file object types, the file type validation table referencing create handlers associated with the file object type identifiers; and
a wildcard entry, the file type validation table further referencing a default create handler associated with the wildcard entry;
comparing the particular type of file object specified in the request with the file object type identifiers in the file type validation table;
if the particular type matches one of the file object type identifiers, then using the create handler associated with the matched file object type identifier to create the requested file object; and
if the particular type does not match one of the file object type identifiers, then using the default create handler associated with the wildcard entry to create a file object having a default file object type. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
said driver object, wherein said driver object manages a software driver as a system resource;
one or more device objects each defining a software driver'"'"'s functionality and availability to other operating system resources and each including a private area containing a file type validation table; and
one or more file objects for managing invocation of an operating system resource as specified by a particular device object and each of which includes a private area containing an IRP request handler table and a file type validation table, wherein the file objects are hierarchically related to parent objects that may consist of either device objects or other file objects.
-
-
7. A method as recited in claim 6, wherein the request received at the driver object includes information enabling a determination of whether the parent object of the requested file object is another file object or a device object.
-
8. A method as recited in claim 7, further comprising the act of using the private area of the parent file object to reference an IRP request handler table if the parent object is another file object.
-
9. A method as recited in claim 8, wherein the file type validation table accessed in the act of accessing is referenced in the IRP request handler table.
-
10. A method as recited in claim 1, further comprising the act of dynamically constructing the file type validation table, including selecting the particular file object type identifiers included in the file type validation table, prior to the act of receiving request.
-
11. A method as recited in claim 10, wherein the act of dynamically constructing the file type validation table is conducted in response to a piece of hardware being installed at the computer.
-
12. A method as recited in claim 1, wherein the request includes data referencing a private data structure including at least one of parameters and attributes associated with the requested file object, the act of using the create handler associated with the matched file object type identifier to create the requested file object comprising the act of accessing the private data structure by the create handler as the requested file object is created.
-
13. A computer-readable medium having stored thereon a data structure representing a file type validation table for enabling validation of the creation of a file object in response to a request for creation of the file object, the file type validation table being capable of enabling validation of the creation of the file object in a standardized manner that eliminates the need for third party driver developers to write validation code, data structure comprising:
-
first data fields containing file object type identifiers representing valid file object types;
second data fields containing data referencing create handlers associated with the file object type identifiers contained in the first data fields, the first data fields and second data fields being constructed such that an appropriate create handler is selected and accessed when the particular file object type of a requested file object specified in the request matches one of the file object type identifiers;
a wildcard data field containing wildcard data that is invoked when the particular file object type of the requested file object does not match one of the file object type identifiers contained in the first data fields; and
a default create handler field referencing a default create handler, the default create handler being selected and accessed when the wildcard data is invoked. - View Dependent Claims (14, 15)
-
-
16. In a computer having an operating system, a method of validating the creation of file objects in a computer in a standardized manner so as to eliminate the need for third party driver developers to write validation code, the method comprising the acts of:
-
receiving, at a driver object associated with the operating system, a request to create a requested file object of a particular type, the request including data referencing a private data structure;
accessing a file type validation table that includes file object type identifiers representing valid file object types, the file type validation table referencing create handlers associated with the file object type identifiers comparing the particular type of file object specified in the request with the file object type identifiers in the file type validation table and determining that the particular type matches a particular file object type identifier;
accessing the create handler associated with the particular file object type identifier;
using the data in the request, passing at least a portion of the private data structure to the accessed create handler; and
creating the requested file object using the accessed create handler. - View Dependent Claims (17, 18, 19, 20, 21, 22)
said driver object, wherein said driver object manages a software driver as a system resource;
one or more device objects each defining a software driver'"'"'s functionality and availability to other operating system resources and each including a private area containing a file type validation table; and
one or more file objects for managing invocation of an operating system resource as specified by a particular device object and each of which includes a private area containing an IRP request handler table and a file type validation table, wherein the file objects are hierarchically related to parent objects that may consist of either device objects or other file objects.
-
-
21. A method as recited in claim 20, wherein the request received at the driver object includes information enabling a determination of whether the parent object of the requested file object is another file object or a device object.
-
22. A method as recited in claim 21, further comprising the act of using the private area of the parent file object to reference an IRP request handier table if the parent object is another file object.
Specification