|
|
/*++
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 );
|