00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
#ifndef _SESSIONIRP_H_
00022
#define _SESSIONIRP_H_
00023
00024
#ifndef NO_SPECIAL_IRP
00025
00026
PIOV_SESSION_DATA
00027
FASTCALL
00028
IovpSessionDataCreate(
00029 IN
PDEVICE_OBJECT DeviceObject,
00030 IN OUT
PIOV_REQUEST_PACKET *IovPacketPointer,
00031 OUT PBOOLEAN SurrogateSpawned
00032 );
00033
00034
VOID
00035
FASTCALL
00036
IovpSessionDataAdvance(
00037 IN
PDEVICE_OBJECT DeviceObject,
00038 IN
PIOV_SESSION_DATA IovSessionData,
00039 IN OUT
PIOV_REQUEST_PACKET *IovPacketPointer,
00040 OUT PBOOLEAN SurrogateSpawned
00041 );
00042
00043
VOID
00044
FASTCALL
00045
IovpSessionDataReference(
00046 IN
PIOV_SESSION_DATA IovSessionData
00047 );
00048
00049
VOID
00050
FASTCALL
00051
IovpSessionDataDereference(
00052 IN
PIOV_SESSION_DATA IovSessionData
00053 );
00054
00055
VOID
00056
FASTCALL
00057
IovpSessionDataClose(
00058 IN
PIOV_SESSION_DATA IovSessionData
00059 );
00060
00061
VOID
00062
IovpSessionDataDeterminePolicy(
00063 IN
PIOV_REQUEST_PACKET IovRequestPacket,
00064 IN
PDEVICE_OBJECT DeviceObject,
00065 OUT PBOOLEAN Trackable,
00066 OUT PBOOLEAN UseSurrogateIrp
00067 );
00068
00069 BOOLEAN
00070
FASTCALL
00071
IovpSessionDataAttachSurrogate(
00072 IN OUT
PIOV_REQUEST_PACKET *IovPacketPointer,
00073 IN
PIOV_SESSION_DATA IovSessionData
00074 );
00075
00076
VOID
00077
FASTCALL
00078
IovpSessionDataFinalizeSurrogate(
00079 IN
PIOV_SESSION_DATA IovSessionData,
00080 IN OUT
PIOV_REQUEST_PACKET IovPacket,
00081 IN
PIRP Irp
00082 );
00083
00084
#endif // NO_SPECIAL_IRP
00085
00086
#endif // _SESSIONIRP_H_
00087