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

ioverifier.h

Go to the documentation of this file.
00001 /*++ 00002 00003 Copyright (c) 1998 Microsoft Corporation 00004 00005 Module Name: 00006 00007 ioverifier.h 00008 00009 Abstract: 00010 00011 This header contains or includes all the prototypes neccessary for the I/O 00012 subsystem specific portions of the driver verifier. 00013 00014 Author: 00015 00016 Adrian J. Oney (adriao) 28-Feb-1999 00017 00018 Revision History: 00019 00020 00021 --*/ 00022 00023 #include "ioassert.h" 00024 #include "trackirp.h" 00025 #include "flunkirp.h" 00026 #include "hashirp.h" 00027 #include "sessnirp.h" 00028 00029 #ifndef _IOVERIFIER_H_ 00030 #define _IOVERIFIER_H_ 00031 00032 typedef struct _IOV_INIT_DATA { 00033 00034 ULONG InitFlags; 00035 ULONG VerifierFlags; 00036 00037 } IOV_INIT_DATA, *PIOV_INIT_DATA; 00038 00039 #define IOVP_COMPLETE_REQUEST(Apc,Sa1,Sa2) \ 00040 { \ 00041 if (IopVerifierOn) \ 00042 IovpCompleteRequest((Apc), (Sa1), (Sa2)); \ 00043 } 00044 00045 #define IOV_INITIALIZE_IRP(Irp, PacketSize, StackSize) \ 00046 { \ 00047 if (IopVerifierOn) \ 00048 IovInitializeIrp((Irp), (PacketSize), (StackSize)); \ 00049 } 00050 00051 #define IOV_DELETE_DEVICE(DeviceObject) \ 00052 { \ 00053 if (IopVerifierOn) \ 00054 IovDeleteDevice(DeviceObject); \ 00055 } 00056 00057 #define IOV_DETACH_DEVICE(DeviceObject) \ 00058 { \ 00059 if (IopVerifierOn) \ 00060 IovDetachDevice(DeviceObject); \ 00061 } 00062 00063 #define IOV_ATTACH_DEVICE_TO_DEVICE_STACK(SourceDeviceObject, TargetDeviceObject) \ 00064 { \ 00065 if (IopVerifierOn) \ 00066 IovAttachDeviceToDeviceStack((SourceDeviceObject), (TargetDeviceObject)); \ 00067 } 00068 00069 #define IOV_CANCEL_IRP(Irp, ReturnValue) \ 00070 IovCancelIrp((Irp), (ReturnValue)) 00071 00072 NTSTATUS 00073 FASTCALL 00074 IovSpecialIrpCallDriver( 00075 IN PDEVICE_OBJECT DeviceObject, 00076 IN OUT PIRP Irp 00077 ); 00078 00079 00080 VOID 00081 FASTCALL 00082 IovSpecialIrpCompleteRequest( 00083 IN PIRP Irp, 00084 IN CCHAR PriorityBoost 00085 ); 00086 00087 VOID 00088 IovpSpecialIrpVerifierInitWorker( 00089 IN PVOID Parameter 00090 ); 00091 00092 VOID 00093 IovpCompleteRequest( 00094 IN PKAPC Apc, 00095 IN PVOID *SystemArgument1, 00096 IN PVOID *SystemArgument2 00097 ); 00098 00099 VOID 00100 IovInitializeIrp( 00101 PIRP Irp, 00102 USHORT PacketSize, 00103 CCHAR StackSize 00104 ); 00105 00106 VOID 00107 IovAttachDeviceToDeviceStack( 00108 PDEVICE_OBJECT SourceDevice, 00109 PDEVICE_OBJECT TargetDevice 00110 ); 00111 00112 VOID 00113 IovDeleteDevice( 00114 PDEVICE_OBJECT DeleteDevice 00115 ); 00116 00117 VOID 00118 IovDetachDevice( 00119 PDEVICE_OBJECT TargetDevice 00120 ); 00121 00122 BOOLEAN 00123 IovCancelIrp( 00124 PIRP Irp, 00125 BOOLEAN *returnValue 00126 ); 00127 00128 #endif // _IOVERIFIER_H_

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