125 lines
2.7 KiB
C
125 lines
2.7 KiB
C
/*++
|
|
|
|
Copyright (c) 2000 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
vigeneric.h
|
|
|
|
Abstract:
|
|
|
|
This header contains private prototypes for verifying Generic IRPs are
|
|
handled correctly. This file is meant to be included only by vfgeneric.c
|
|
|
|
Author:
|
|
|
|
Adrian J. Oney (adriao) 30-Jun-2000
|
|
|
|
Environment:
|
|
|
|
Kernel mode
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
typedef enum {
|
|
|
|
NOT_PROCESSED = 0,
|
|
POSSIBLY_PROCESSED,
|
|
DEFINITELY_PROCESSED
|
|
|
|
} HOW_PROCESSED;
|
|
|
|
VOID
|
|
ViPnpVerifyMinorWasProcessedProperly(
|
|
IN PIRP Irp,
|
|
IN PIO_STACK_LOCATION IrpSp,
|
|
IN VF_DEVOBJ_TYPE DevObjType,
|
|
IN PVERIFIER_SETTINGS_SNAPSHOT VerifierSnapshot,
|
|
IN HOW_PROCESSED HowProcessed,
|
|
IN PVOID CallerAddress
|
|
);
|
|
|
|
VOID
|
|
FASTCALL
|
|
ViGenericDumpIrpStack(
|
|
IN PIO_STACK_LOCATION IrpSp
|
|
);
|
|
|
|
VOID
|
|
FASTCALL
|
|
ViGenericVerifyNewRequest(
|
|
IN PIOV_REQUEST_PACKET IovPacket,
|
|
IN PDEVICE_OBJECT DeviceObject,
|
|
IN PIO_STACK_LOCATION IrpLastSp OPTIONAL,
|
|
IN PIO_STACK_LOCATION IrpSp,
|
|
IN PIOV_STACK_LOCATION StackLocationData,
|
|
IN PVOID CallerAddress OPTIONAL
|
|
);
|
|
|
|
VOID
|
|
FASTCALL
|
|
ViGenericVerifyIrpStackDownward(
|
|
IN PIOV_REQUEST_PACKET IovPacket,
|
|
IN PDEVICE_OBJECT DeviceObject,
|
|
IN PIO_STACK_LOCATION IrpLastSp OPTIONAL,
|
|
IN PIO_STACK_LOCATION IrpSp,
|
|
IN PIOV_STACK_LOCATION RequestHeadLocationData,
|
|
IN PIOV_STACK_LOCATION StackLocationData,
|
|
IN PVOID CallerAddress OPTIONAL
|
|
);
|
|
|
|
VOID
|
|
FASTCALL
|
|
ViGenericVerifyIrpStackUpward(
|
|
IN PIOV_REQUEST_PACKET IovPacket,
|
|
IN PIO_STACK_LOCATION IrpSp,
|
|
IN PIOV_STACK_LOCATION RequestHeadLocationData,
|
|
IN PIOV_STACK_LOCATION StackLocationData,
|
|
IN BOOLEAN IsNewlyCompleted,
|
|
IN BOOLEAN RequestFinalized
|
|
);
|
|
|
|
BOOLEAN
|
|
FASTCALL
|
|
ViGenericIsValidIrpStatus(
|
|
IN PIO_STACK_LOCATION IrpSp,
|
|
IN NTSTATUS Status
|
|
);
|
|
|
|
BOOLEAN
|
|
FASTCALL
|
|
ViGenericIsNewRequest(
|
|
IN PIO_STACK_LOCATION IrpLastSp OPTIONAL,
|
|
IN PIO_STACK_LOCATION IrpSp
|
|
);
|
|
|
|
VOID
|
|
FASTCALL
|
|
ViGenericVerifyNewIrp(
|
|
IN PIOV_REQUEST_PACKET IovPacket,
|
|
IN PIRP Irp,
|
|
IN PIO_STACK_LOCATION IrpSp,
|
|
IN PIOV_STACK_LOCATION StackLocationData,
|
|
IN PVOID CallerAddress OPTIONAL
|
|
);
|
|
|
|
VOID
|
|
FASTCALL
|
|
ViGenericVerifyFinalIrpStack(
|
|
IN PIOV_REQUEST_PACKET IovPacket,
|
|
IN PIO_STACK_LOCATION IrpSp
|
|
);
|
|
|
|
LOGICAL
|
|
FASTCALL
|
|
ViGenericBuildIrpLogEntry(
|
|
IN PIRP Irp,
|
|
IN ULONG CurrentCount,
|
|
IN PIRPLOG_SNAPSHOT CurrentEntryArray,
|
|
OUT PIRPLOG_SNAPSHOT IrpSnapshot
|
|
);
|
|
|
|
|