test: ioverifier.h Source File

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_