SAMPLE: IRPQ.exe Shows How to Manage IRP Queuing WinNT DriverID: Q191813
|
IRPQ.exe is a sample that demonstrates one way you can set up your Windows NT kernel-mode driver to manage its own IRP queues.
The following file is available for download from the Microsoft Software
Library:
~ IRPQ.exe
Release Date: Aug-27-1998
For more information about downloading files from the Microsoft Software
Library, please see the following article in the Microsoft Knowledge Base:
Q119591 How to Obtain Microsoft Support Files from Online Services
File Description
----------------------------------------------------------------------
.\sys A full-duplex asynchronous driver with driver managed Irp
queues and cancelable I/O.
.\exe A multithreaded asynchronous test application that uses
APCs.
.\filter A transparent passthrough filter driver.
.\kd A WinDbg kernel debugger extension.
File Description
------------------------------------------------------------------------
Dirs
Irpq.htm Documentation for the sample (a copy of this text).
Common.h Common header file.
Exe\Makefile
Exe\Sources Generic file for building the application.
Exe\Parse.c Command line parsing code.
Exe\Stolen.h Linked List manipulation macros borrowed from NTDDK.h
for the application's use.
Exe\Testirpq.c Main test application code.
Exe\Testirpq.h Application main header file.
Filter\Makefile
Filter\Sources Generic file for building the driver.
Filter\Filter.c Main filter driver code.
Filter\Filter.h Main filter driver header file.
Filter\Irpqf.ini Install file for the filter driver.
Filter\Irpqf.rc Resource file.
Kd\Makefile
Kd\Sources Generic file for building the WinDbg kernel debugger
extension.
Kd\Help.c Help display code for the extension.
Kd\IRPQkd.c Extension specific code.
Kd\IRPQkd.def Extension export definitions.
Kd\IRPQkd.h Main header file.
Kd\IRPQkd.rc Extension resource file.
Kd\Kdexts.c Generic extension routines.
Sys\Makefile
Sys\Sources Generic file for building the driver.
Sys\Debug.h Driver debug definitions.
Sys\Driver.c Main driver file.
Sys\Ioctl.c IOCTL path.
Sys\Irpq.c IRP queuing code.
Sys\Irpq.h Main driver header.
Sys\Irpq.ini Install file for the driver.
Sys\Irpq.rc Resource file.
Sys\Read.c Read path.
Sys\Write.c Write path.
HKLM\SYSTEM\CurrentControlSet\Services
irpq -r 12 : post 12 Read requests.
irpq -r 12 -c : post 12 Read requests, then cancel any outstanding
requests.
irpq -r 12 -k : post 12 Read requests, then force IRP_MJ_CLEANUP.
irpq -r 12 -t : continuously post Read requests.
irpq -r 12 -w 12 -i 12 -t : continuously post Read, Write, and Ioctl
requests.
Keywords : kbfile kbsample kbDDK kbNDIS kbNTOS400
Version :
Platform :
Issue type :
Last Reviewed: March 5, 1999