Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

flunkirp.h

Go to the documentation of this file.
00001 /*++ 00002 00003 Copyright (c) 1998 Microsoft Corporation 00004 00005 Module Name: 00006 00007 flunkirp.h 00008 00009 Abstract: 00010 00011 The module associated with this header asserts specific Irp types (eg PNP) 00012 are handled correctly by drivers. Generic IRP assertion is done by the 00013 trackirp.* bits. 00014 00015 Author: 00016 00017 Adrian J. Oney (adriao) 20-Apr-1998 00018 00019 Revision History: 00020 00021 00022 --*/ 00023 00024 #ifndef _FLUNKIRP_H_ 00025 #define _FLUNKIRP_H_ 00026 00027 #ifndef NO_SPECIAL_IRP 00028 00029 // 00030 // These are in flunkirp.c 00031 // 00032 BOOLEAN 00033 IovpAssertIsNewRequest( 00034 IN PIO_STACK_LOCATION IrpLastSp, 00035 IN PIO_STACK_LOCATION IrpSp 00036 ); 00037 00038 VOID 00039 IovpAssertNewIrps( 00040 IN PIOV_REQUEST_PACKET IrpTrackingData, 00041 IN PIO_STACK_LOCATION IrpSp, 00042 IN PIOV_STACK_LOCATION StackLocationData 00043 ); 00044 00045 VOID 00046 IovpAssertNewRequest( 00047 IN PIOV_REQUEST_PACKET IrpTrackingData, 00048 IN PDEVICE_OBJECT DeviceObject, 00049 IN PIO_STACK_LOCATION IrpLastSp OPTIONAL, 00050 IN PIO_STACK_LOCATION IrpSp, 00051 IN PIOV_STACK_LOCATION StackLocationData 00052 ); 00053 00054 BOOLEAN 00055 IovpAssertDoAdvanceStatus( 00056 IN PIO_STACK_LOCATION IrpSp, 00057 IN NTSTATUS OriginalStatus, 00058 IN OUT NTSTATUS *StatusToAdvance 00059 ); 00060 00061 VOID 00062 IovpAssertIrpStackDownward( 00063 IN PIOV_REQUEST_PACKET IrpTrackingData, 00064 IN PDEVICE_OBJECT DeviceObject, 00065 IN PIO_STACK_LOCATION IrpLastSp, 00066 IN PIO_STACK_LOCATION IrpSp, 00067 IN PIOV_STACK_LOCATION StackLocationData 00068 ); 00069 00070 VOID 00071 IovpAssertIrpStackUpward( 00072 IN PIOV_REQUEST_PACKET IrpTrackingData, 00073 IN PIO_STACK_LOCATION IrpSp, 00074 IN PIOV_STACK_LOCATION StackLocationData, 00075 IN BOOLEAN IsNewlyCompleted, 00076 IN BOOLEAN RequestFinalized 00077 ); 00078 00079 VOID 00080 IovpAssertFinalIrpStack( 00081 IN PIOV_REQUEST_PACKET IrpTrackingData, 00082 IN PIO_STACK_LOCATION IrpSp 00083 ); 00084 00085 BOOLEAN 00086 IovpAssertIsValidIrpStatus( 00087 IN PIO_STACK_LOCATION IrpSp, 00088 IN NTSTATUS Status 00089 ); 00090 00091 VOID 00092 IovpThrowChaffAtStartedPdoStack( 00093 IN PDEVICE_OBJECT DeviceObject 00094 ); 00095 00096 NTSTATUS 00097 IovpThrowBogusSynchronousIrp( 00098 IN PDEVICE_OBJECT DeviceObject, 00099 IN PIO_STACK_LOCATION TopStackLocation, 00100 IN OUT OPTIONAL ULONG_PTR Information, 00101 IN OUT ULONG_PTR *InformationOut OPTIONAL, 00102 IN BOOLEAN IsBogus 00103 ); 00104 00105 LONG 00106 IovpStartObRefMonitoring( 00107 IN PDEVICE_OBJECT DeviceObject 00108 ); 00109 00110 LONG 00111 IovpStopObRefMonitoring( 00112 IN PDEVICE_OBJECT DeviceObject, 00113 IN LONG StartSkew 00114 ); 00115 00116 BOOLEAN 00117 IovpIsSystemRestrictedIrp( 00118 PIO_STACK_LOCATION IrpSp 00119 ); 00120 00121 #endif // NO_SPECIAL_IRP 00122 00123 #endif // _FLUNKIRP_H_ 00124

Generated on Sat May 15 19:40:02 2004 for test by doxygen 1.3.7