An IRP stack location contains a function code (consisting of a major code and a minor code), function-specific parameters, and a pointer to the caller’s file object. The fixed portion contains information such as the type and size of the request, whether the request is synchronous or asynchronous, a pointer to a buffer for buffered I/O, and state information that changes as the request progresses. Dispatch Start I/O ISR DPC routine(s) routine Device driver FIGURE 8-9 Data structures involved in a single-layered driver I/O request IRP Stack Locations An IRP consists of two parts: a fixed header (often referred to as the IRP’s body) and one or more stack locations. ![]() IRP stack location IRP header File Device Driver object object object WRITE parameters 3 The I/O manager uses the IRP driver object to locate the WRITE dispatch routine and calls it, passing the IRP. User mode Kernel mode I/O system services I/O manager 2 The I/O manager creates an IRP and initializes the first stack location. Environment subsystem or 1 An application writes a DLL file to the printer, passing a handle to the file object.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |