ReactOS  0.4.11-dev-195-gef016bf
fltmgrint.h
Go to the documentation of this file.
1 #ifndef _FLTMGR_INTERNAL_H
2 #define _FLTMGR_INTERNAL_H
3 
4 
5 #define MAX_CONTEXT_TYPES 6
6 
7 
8 typedef enum _FLT_OBJECT_FLAGS
9 {
13  FLT_OBFL_TYPE_FILTER = 0x2000000,
15 
17 
18 typedef enum _FLT_FILTER_FLAGS
19 {
22 
24 
25 typedef struct _FLT_OBJECT // size = 0x14
26 {
31 
33 
35 {
40  char Flags;
42 
44 
46 {
50 
52 
53 typedef struct _FLT_MUTEX_LIST_HEAD
54 {
58 
60 
61 typedef struct _FLT_TYPE
62 {
65 
67 
68 // http://fsfilters.blogspot.co.uk/2010/02/filter-manager-concepts-part-1.html
69 typedef struct _FLTP_FRAME
70 {
73  unsigned int FrameID;
86  //FLT_PRCB *Prcb;
89  //FLTP_IRPCTRL_STACK_PROFILER IrpCtrlStackProfiler;
92  //STATIC_IRP_CONTROL GlobalSIC;
93 
95 
96 typedef struct _FLT_FILTER // size = 0x120
97 {
99  PFLTP_FRAME Frame;
111  PALLOCATE_CONTEXT_HEADER SupportedContextsListHead;
112  PALLOCATE_CONTEXT_HEADER SupportedContexts[MAX_CONTEXT_TYPES];
124 
126 
128 {
132 
134 
135 
136 
137 typedef struct _FLT_INSTANCE // size = 0x144 (324)
138 {
141  PVOID Volume; //PFLT_VOLUME
142  PFLT_FILTER Filter;
148  PVOID Context; //PCONTEXT_NODE
149  PVOID TrackCompletionNodes; //PRACK_COMPLETION_NODES
150  PVOID CallbackNodes[50]; //PCALLBACK_NODE
151 
153 
154 
155 typedef struct _TREE_ROOT
156 {
158 
160 
161 typedef struct _CONTEXT_LIST_CTRL
162 {
164 
166 
167 // http://fsfilters.blogspot.co.uk/2010/02/filter-manager-concepts-part-6.html
168 typedef struct _STREAM_LIST_CTRL // size = 0xC8 (200)
169 {
173  ULONG Flags; //STREAM_LIST_CTRL_FLAGS Flags;
174  int UseCount;
180  ULONG NormalizedNameCache; //NAME_CACHE_LIST_CTRL NormalizedNameCache;
181  ULONG ShortNameCache; // NAME_CACHE_LIST_CTRL ShortNameCache;
182  ULONG OpenedNameCache; // NAME_CACHE_LIST_CTRL OpenedNameCache;
184 
186 
187 
189 {
194  PFLT_FILTER Filter;
199 
201 
202 
204 {
210 
212 
213 
214 typedef struct _FLT_PORT_OBJECT
215 {
217  PFLT_SERVER_PORT_OBJECT ServerPort;
225 
227 
228 
229 typedef enum _FLT_VOLUME_FLAGS
230 {
239 
241 
242 
244 {
249 
251 
252 
253 typedef struct _CALLBACK_CTRL
254 {
257 
259 
260 
262 {
270 
272 
273 
275 {
284 
286 
287 
289 {
294 
296 
297 
298 typedef struct _FLT_VOLUME
299 {
302  FLT_FILESYSTEM_TYPE FileSystemType;
307  PFLTP_FRAME Frame;
323 
325 
326 
327 typedef struct _MANAGER_CCB
328 {
329  PFLTP_FRAME Frame;
330  unsigned int Iterator;
331 
333 
334 typedef struct _FILTER_CCB
335 {
336  PFLT_FILTER Filter;
337  unsigned int Iterator;
338 
340 
341 typedef struct _INSTANCE_CCB
342 {
343  PFLT_INSTANCE Instance;
344 
346 
347 typedef struct _VOLUME_CCB
348 {
350  unsigned int Iterator;
351 
353 
354 typedef struct _PORT_CCB
355 {
356  PFLT_PORT_OBJECT Port;
358 
359 } PORT_CCB, *PPORT_CCB;
360 
361 
362 typedef union _CCB_TYPE
363 {
369 
370 } CCB_TYPE, *PCCB_TYPE;
371 
372 
373 typedef struct _FLT_CCB
374 {
377 
378 } FLT_CCB, *PFLT_CCB;
379 
380 VOID
382  _Out_ PEX_RUNDOWN_REF RundownRef
383 );
384 
385 BOOLEAN
387  _Inout_ PEX_RUNDOWN_REF RundownRef
388 );
389 
390 BOOLEAN
392  _Inout_ PEX_RUNDOWN_REF RundownRef
393 );
394 
395 NTSTATUS
396 NTAPI
398  _Inout_ PEX_RUNDOWN_REF RundownRef
399 );
400 
401 BOOLEAN
403  _Inout_ PEX_RUNDOWN_REF RundownRef
404 );
405 
406 
407 NTSTATUS
411 );
412 
413 NTSTATUS
415  _In_ PVOID Object,
417 );
418 
419 ULONG
421  _In_ PFLT_OBJECT Object
422 );
423 
424 VOID
426  _In_ PFLT_OBJECT Object
427 );
428 
429 NTSTATUS
433  _In_ BOOLEAN CopyExisting
434 );
435 
436 VOID
439 );
440 
441 
442 
443 NTSTATUS
447 );
448 
449 NTSTATUS
453 );
454 
455 NTSTATUS
459 );
460 
461 NTSTATUS
465 );
466 
467 NTSTATUS
470 );
471 
472 #endif /* _FLTMGR_INTERNAL_H */
UNICODE_STRING DeviceName
Definition: fltmgrint.h:308
FLT_RESOURCE_LIST_HEAD InstanceList
Definition: fltmgrint.h:104
DWORD *typedef PVOID
Definition: winlogon.h:61
enum _FLT_OBJECT_FLAGS * PFLT_OBJECT_FLAGS
PVOID PreVolumeMount
Definition: fltmgrint.h:113
enum _FLT_FILTER_FLAGS FLT_FILTER_FLAGS
struct _NAME_CACHE_VOLUME_CTRL * PNAME_CACHE_VOLUME_CTRL
PFLT_INSTANCE Instance
Definition: fltmgrint.h:343
struct _STREAM_LIST_CTRL STREAM_LIST_CTRL
PVOID CallbackNodes[50]
Definition: fltmgrint.h:150
BOOLEAN FltpExAcquireRundownProtection(_Inout_ PEX_RUNDOWN_REF RundownRef)
Definition: Object.c:148
FLT_OBJECT Base
Definition: fltmgrint.h:139
FLT_TYPE Type
Definition: fltmgrint.h:375
PDEVICE_OBJECT DeviceObject
Definition: fltmgrint.h:303
_FLT_OBJECT_FLAGS
Definition: fltmgrint.h:8
struct _FLT_INSTANCE FLT_INSTANCE
NTSTATUS(FLTAPI * PFLT_FILTER_UNLOAD_CALLBACK)(FLT_FILTER_UNLOAD_FLAGS Flags)
Definition: fltkernel.h:654
ULONG NormalizedNameCache
Definition: fltmgrint.h:180
struct LOOKASIDE_ALIGN _NPAGED_LOOKASIDE_LIST NPAGED_LOOKASIDE_LIST
FLT_CONTEXT_TYPE ContextType
Definition: fltmgrint.h:39
FLT_OBJECT Base
Definition: fltmgrint.h:98
#define MAX_CONTEXT_TYPES
Definition: fltmgrint.h:5
PVOID Context
Definition: fltmgrint.h:148
enum _FLT_FILTER_FLAGS * PFLT_FILTER_FLAGS
TREE_ROOT TxVolContexts
Definition: fltmgrint.h:322
LIST_ENTRY FilterLink
Definition: fltmgrint.h:216
MANAGER_CCB Manager
Definition: fltmgrint.h:364
struct _FLT_MESSAGE_WAITER_QUEUE * PFLT_MESSAGE_WAITER_QUEUE
CALLBACK_NODE_FLAGS OperationFlags[50]
Definition: fltmgrint.h:256
_CALLBACK_NODE_FLAGS
Definition: fltmgrint.h:243
VOID FltpFreeUnicodeString(_In_ PUNICODE_STRING String)
Definition: Lib.c:24
INSTANCE_CCB Instance
Definition: fltmgrint.h:366
enum _FLT_OBJECT_FLAGS FLT_OBJECT_FLAGS
_In_ PIRP Irp
Definition: csq.h:116
UNICODE_STRING CDODeviceName
Definition: fltmgrint.h:310
PFLT_NORMALIZE_CONTEXT_CLEANUP NormalizeContextCleanup
Definition: fltmgrint.h:117
PFLT_CONNECT_NOTIFY ConnectNotify
Definition: fltmgrint.h:191
PFLT_FILTER Filter
Definition: fltmgrint.h:142
struct _FLT_PORT_OBJECT FLT_PORT_OBJECT
struct _FLT_TYPE * PFLT_TYPE
CONTEXT_LIST_CTRL VolumeContexts
Definition: fltmgrint.h:315
CONTEXT_LIST_CTRL StreamHandleContexts
Definition: fltmgrint.h:177
struct _FLT_TYPE FLT_TYPE
USHORT FLT_CONTEXT_TYPE
Definition: fltkernel.h:436
NTSTATUS(FLTAPI * PFLT_GENERATE_FILE_NAME)(_In_ PFLT_INSTANCE Instance, _In_ PFILE_OBJECT FileObject, _In_opt_ PFLT_CALLBACK_DATA CallbackData, _In_ FLT_FILE_NAME_OPTIONS NameOptions, _Out_ PBOOLEAN CacheFileNameInformation, _Out_ PFLT_NAME_CONTROL FileName)
Definition: fltkernel.h:664
BOOLEAN FltpExReleaseRundownProtection(_Inout_ PEX_RUNDOWN_REF RundownRef)
Definition: Object.c:154
_FLT_VOLUME_FLAGS
Definition: fltmgrint.h:229
PVOID TrackCompletionNodes
Definition: fltmgrint.h:149
CCB_TYPE Data
Definition: fltmgrint.h:376
NTSTATUS FltpGetBaseDeviceObjectName(_In_ PDEVICE_OBJECT DeviceObject, _Inout_ PUNICODE_STRING ObjectName)
Definition: Object.c:175
struct _NAME_CACHE_LIST_CTRL_STATS NAME_CACHE_LIST_CTRL_STATS
NTSTATUS FltpReallocateUnicodeString(_In_ PUNICODE_STRING String, _In_ SIZE_T NewLength, _In_ BOOLEAN CopyExisting)
Definition: Lib.c:39
PFLT_INSTANCE_TEARDOWN_CALLBACK InstanceTeardownStart
Definition: fltmgrint.h:109
struct _NAME_CACHE_LIST_CTRL_STATS * PNAME_CACHE_LIST_CTRL_STATS
_In_ PVOID _Out_opt_ PULONG_PTR _Outptr_opt_ PCUNICODE_STRING * ObjectName
Definition: cmfuncs.h:62
ULONGLONG MessageId
Definition: fltmgrint.h:222
FLT_MUTEX_LIST_HEAD ActiveOpens
Definition: fltmgrint.h:120
PFLT_PORT_OBJECT Port
Definition: fltmgrint.h:356
struct _ALLOCATE_CONTEXT_HEADER * Next
Definition: fltmgrint.h:38
LIST_ENTRY PrimaryLink
Definition: fltmgrint.h:30
PFLT_FILTER_UNLOAD_CALLBACK OldDriverUnload
Definition: fltmgrint.h:119
PFLTP_FRAME Frame
Definition: fltmgrint.h:329
struct _FLT_RESOURCE_LIST_HEAD FLT_RESOURCE_LIST_HEAD
unsigned int Iterator
Definition: fltmgrint.h:337
FILTER_CCB Filter
Definition: fltmgrint.h:365
PALLOCATE_CONTEXT_HEADER SupportedContexts[MAX_CONTEXT_TYPES]
Definition: fltmgrint.h:112
static USHORT USHORT * NewLength
ULONG FltpObjectPointerReference(_In_ PFLT_OBJECT Object)
Definition: Object.c:252
FLT_MUTEX_LIST_HEAD AttachedFileSystems
Definition: fltmgrint.h:82
struct _TREE_ROOT TREE_ROOT
LIST_ENTRY MountingVolumes
Definition: fltmgrint.h:81
struct _FLT_CCB FLT_CCB
CONTEXT_LIST_CTRL StreamContexts
Definition: fltmgrint.h:176
struct _INSTANCE_CCB INSTANCE_CCB
UNICODE_STRING Name
Definition: fltmgrint.h:145
PFLT_VOLUME VolumeInNextFrame
Definition: fltmgrint.h:306
PVOID VerifierExtension
Definition: fltmgrint.h:105
struct _INSTANCE_CCB * PINSTANCE_CCB
LIST_ENTRY mList
Definition: fltmgrint.h:56
CHAR16 * String
Definition: acefiex.h:201
FLT_RESOURCE_LIST_HEAD FileListCtrls
Definition: fltmgrint.h:317
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
struct _FLT_MESSAGE_WAITER_QUEUE FLT_MESSAGE_WAITER_QUEUE
union _CCB_TYPE * PCCB_TYPE
struct _NAME_CACHE_VOLUME_CTRL_STATS NAME_CACHE_VOLUME_CTRL_STATS
struct _FLT_PORT_OBJECT * PFLT_PORT_OBJECT
VOLUME_CCB Volume
Definition: fltmgrint.h:367
long LONG
Definition: pedump.c:60
EX_RUNDOWN_REF RundownRef
Definition: fltmgrint.h:29
NTSTATUS(FLTAPI * PFLT_NORMALIZE_NAME_COMPONENT)(_In_ PFLT_INSTANCE Instance, _In_ PCUNICODE_STRING ParentDirectory, _In_ USHORT VolumeNameLength, _In_ PCUNICODE_STRING Component, _Out_writes_bytes_(ExpandComponentNameLength) PFILE_NAMES_INFORMATION ExpandComponentName, _In_ ULONG ExpandComponentNameLength, _In_ FLT_NORMALIZE_NAME_FLAGS Flags, _Inout_ PVOID *NormalizationContext)
Definition: fltkernel.h:678
NAME_CACHE_VOLUME_CTRL_STATS Stats
Definition: fltmgrint.h:293
ERESOURCE MountNotifyLock
Definition: fltmgrint.h:319
BOOLEAN Disconnected
Definition: fltmgrint.h:224
FLT_RESOURCE_LIST_HEAD AttachedVolumes
Definition: fltmgrint.h:80
FLT_MESSAGE_WAITER_QUEUE MsgQ
Definition: fltmgrint.h:221
struct _FLT_SERVER_PORT_OBJECT * PFLT_SERVER_PORT_OBJECT
NPAGED_LOOKASIDE_LIST LargeIrpCtrlLookasideList
Definition: fltmgrint.h:91
LIST_ENTRY VolumeLink
Definition: fltmgrint.h:172
struct _VOLUME_CCB VOLUME_CCB
enum _FLT_yINSTANCE_FLAGS * PFLT_INSTANCE_FLAGS
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK InstanceQueryTeardown
Definition: fltmgrint.h:108
NAME_CACHE_LIST_CTRL_STATS ShortNames
Definition: fltmgrint.h:280
PFLT_FILTER Filter
Definition: fltmgrint.h:336
FAST_MUTEX DeviceObjectAttachLock
Definition: fltmgrint.h:85
LARGE_INTEGER LastRenameCompleted
Definition: fltmgrint.h:179
#define _Out_
Definition: no_sal2.h:323
static PDRIVER_OBJECT DriverObject
Definition: template.c:42
FLT_FILESYSTEM_TYPE FileSystemType
Definition: fltmgrint.h:302
PDRIVER_OBJECT DriverObject
Definition: fltmgrint.h:103
NTSTATUS FltpGetObjectName(_In_ PVOID Object, _Inout_ PUNICODE_STRING ObjectName)
Definition: Object.c:193
struct _FLT_FILTER * PFLT_FILTER
PFLT_INSTANCE_SETUP_CALLBACK InstanceSetup
Definition: fltmgrint.h:107
NTSTATUS(FLTAPI * PFLT_CONNECT_NOTIFY)(_In_ PFLT_PORT ClientPort, _In_opt_ PVOID ServerPortCookie, _In_reads_bytes_opt_(SizeOfContext) PVOID ConnectionContext, _In_ ULONG SizeOfContext, _Outptr_result_maybenull_ PVOID *ConnectionPortCookie)
Definition: fltkernel.h:848
NAME_CACHE_LIST_CTRL_STATS NormalizedNames
Definition: fltmgrint.h:278
enum _FLT_VOLUME_FLAGS FLT_VOLUME_FLAGS
struct _FLTP_FRAME FLTP_FRAME
VOID FltpExInitializeRundownProtection(_Out_ PEX_RUNDOWN_REF RundownRef)
Definition: Object.c:142
RTL_SPLAY_LINKS * Tree
Definition: fltmgrint.h:157
BOOLEAN FltpExRundownCompleted(_Inout_ PEX_RUNDOWN_REF RundownRef)
Definition: Object.c:161
PFLTP_FRAME Frame
Definition: fltmgrint.h:99
enum _FLT_VOLUME_FLAGS * PFLT_VOLUME_FLAGS
FAST_MUTEX
Definition: extypes.h:17
PVOID Volume
Definition: fltmgrint.h:141
FLT_INSTANCE_FLAGS Flags
Definition: fltmgrint.h:143
unsigned char BOOLEAN
void * PrcbPoolToFree
Definition: fltmgrint.h:87
VOID(FLTAPI * PFLT_NORMALIZE_CONTEXT_CLEANUP)(_In_opt_ PVOID *NormalizationContext)
Definition: fltkernel.h:701
UNICODE_STRING CDODriverName
Definition: fltmgrint.h:311
LONG NTSTATUS
Definition: precomp.h:26
PVOID PostVolumeMount
Definition: fltmgrint.h:114
LARGE_INTEGER LastRenameCompleted
Definition: fltmgrint.h:292
FLT_RESOURCE_LIST_HEAD RegisteredFilters
Definition: fltmgrint.h:79
void * LookasidePoolToFree
Definition: fltmgrint.h:88
uint64_t ULONGLONG
Definition: typedefs.h:65
_FLT_FILTER_FLAGS
Definition: fltmgrint.h:18
NAME_CACHE_LIST_CTRL_STATS OpenedNames
Definition: fltmgrint.h:279
PFLT_VOLUME FrameZeroVolume
Definition: fltmgrint.h:305
FSRTL_PER_STREAM_CONTEXT ContextCtrl
Definition: fltmgrint.h:171
PFLT_OPERATION_REGISTRATION Operations
Definition: fltmgrint.h:118
#define _Inout_
Definition: no_sal2.h:244
NTSTATUS FltpMsgCreate(_In_ PDEVICE_OBJECT DeviceObject, _Inout_ PIRP Irp)
Definition: Messaging.c:223
VOID FltpObjectPointerDereference(_In_ PFLT_OBJECT Object)
Definition: Object.c:265
ULONG OpenedNameCache
Definition: fltmgrint.h:182
struct _FLT_CCB * PFLT_CCB
static IUnknown Object
Definition: main.c:512
struct _FLT_RESOURCE_LIST_HEAD * PFLT_RESOURCE_LIST_HEAD
struct _PORT_CCB PORT_CCB
USHORT Size
Definition: fltmgrint.h:64
struct _FLT_OBJECT * PFLT_OBJECT
struct _CONTEXT_LIST_CTRL CONTEXT_LIST_CTRL
ULONG TargetedOpenActiveCount
Definition: fltmgrint.h:320
FLT_OBJECT Base
Definition: fltmgrint.h:300
unsigned int FrameID
Definition: fltmgrint.h:73
NAME_CACHE_VOLUME_CTRL NameCacheCtrl
Definition: fltmgrint.h:318
VOID(FLTAPI * PFLT_CONTEXT_CLEANUP_CALLBACK)(_In_ PFLT_CONTEXT Context, _In_ FLT_CONTEXT_TYPE ContextType)
Definition: fltkernel.h:494
NTSTATUS FltpDispatchHandler(_In_ PDEVICE_OBJECT DeviceObject, _Inout_ PIRP Irp)
Definition: Dispatch.c:103
struct _CALLBACK_CTRL * PCALLBACK_CTRL
ULONG PointerCount
Definition: fltmgrint.h:28
Definition: typedefs.h:117
FLT_MUTEX_LIST_HEAD ReplyWaiterList
Definition: fltmgrint.h:357
unsigned int Iterator
Definition: fltmgrint.h:350
struct _ALLOCATE_CONTEXT_HEADER * PALLOCATE_CONTEXT_HEADER
ULONG ShortNameCache
Definition: fltmgrint.h:181
volatile FLT_OBJECT_FLAGS Flags
Definition: fltmgrint.h:27
struct _NAME_CACHE_VOLUME_CTRL NAME_CACHE_VOLUME_CTRL
NPAGED_LOOKASIDE_LIST SmallIrpCtrlLookasideList
Definition: fltmgrint.h:90
ERESOURCE FilterUnloadLock
Definition: fltmgrint.h:84
VOID(FLTAPI * PFLT_INSTANCE_TEARDOWN_CALLBACK)(_In_ PCFLT_RELATED_OBJECTS FltObjects, _In_ FLT_INSTANCE_TEARDOWN_FLAGS Reason)
Definition: fltkernel.h:568
PFLT_FILTER_UNLOAD_CALLBACK FilterUnload
Definition: fltmgrint.h:106
struct _MANAGER_CCB * PMANAGER_CCB
struct _FLTP_FRAME * PFLTP_FRAME
KEVENT DisconnectEvent
Definition: fltmgrint.h:223
NTSTATUS(FLTAPI * PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK)(_In_ PCFLT_RELATED_OBJECTS FltObjects, _In_ FLT_INSTANCE_QUERY_TEARDOWN_FLAGS Flags)
Definition: fltkernel.h:555
FLT_MUTEX_LIST_HEAD WaiterQ
Definition: fltmgrint.h:206
struct _STREAM_LIST_CTRL * PSTREAM_LIST_CTRL
#define _In_
Definition: no_sal2.h:204
ERESOURCE NameCacheLock
Definition: fltmgrint.h:178
UNICODE_STRING Name
Definition: fltmgrint.h:100
Definition: csq.h:222
IN PDEVICE_OBJECT DeviceObject
Definition: fatprocs.h:1560
ULONG_PTR SIZE_T
Definition: typedefs.h:78
_FLT_yINSTANCE_FLAGS
Definition: fltmgrint.h:127
char SmallIrpCtrlStackSize
Definition: fltmgrint.h:78
LIST_ENTRY Links
Definition: fltmgrint.h:72
union _CCB_TYPE CCB_TYPE
FLT_TYPE Type
Definition: fltmgrint.h:71
PFLT_CONTEXT_CLEANUP_CALLBACK ContextCleanupCallback
Definition: fltmgrint.h:37
unsigned int Iterator
Definition: fltmgrint.h:330
PFLT_NORMALIZE_NAME_COMPONENT NormalizeNameComponent
Definition: fltmgrint.h:116
unsigned short USHORT
Definition: pedump.c:61
EX_PUSH_LOCK ContextLock
Definition: fltmgrint.h:314
enum _CALLBACK_NODE_FLAGS * PCALLBACK_NODE_FLAGS
FLT_FILTER_FLAGS Flags
Definition: fltmgrint.h:102
struct _FLT_VOLUME * PFLT_VOLUME
PALLOCATE_CONTEXT_HEADER SupportedContextsListHead
Definition: fltmgrint.h:111
struct _CONTEXT_LIST_CTRL * PCONTEXT_LIST_CTRL
NTSTATUS NTAPI FltpObjectRundownWait(_Inout_ PEX_RUNDOWN_REF RundownRef)
Definition: Object.c:168
EX_RUNDOWN_REF MsgNotifRundownRef
Definition: fltmgrint.h:219
UNICODE_STRING AltitudeIntervalHigh
Definition: fltmgrint.h:76
FLT_VOLUME_FLAGS Flags
Definition: fltmgrint.h:301
NTSTATUS FltpMsgDispatch(_In_ PDEVICE_OBJECT DeviceObject, _Inout_ PIRP Irp)
Definition: Messaging.c:256
VOID(FLTAPI * PFLT_DISCONNECT_NOTIFY)(_In_opt_ PVOID ConnectionCookie)
Definition: fltkernel.h:856
FLT_RESOURCE_LIST_HEAD InstanceList
Definition: fltmgrint.h:312
struct _FLT_MUTEX_LIST_HEAD * PFLT_MUTEX_LIST_HEAD
struct _NAME_CACHE_VOLUME_CTRL_STATS * PNAME_CACHE_VOLUME_CTRL_STATS
int AllNameContextsTemporary
Definition: fltmgrint.h:183
FAST_MUTEX mLock
Definition: fltmgrint.h:55
FLT_MUTEX_LIST_HEAD ZombiedFltObjectContexts
Definition: fltmgrint.h:83
struct _ALLOCATE_CONTEXT_HEADER ALLOCATE_CONTEXT_HEADER
PFLT_MESSAGE_NOTIFY MessageNotify
Definition: fltmgrint.h:193
struct _FLT_SERVER_PORT_OBJECT FLT_SERVER_PORT_OBJECT
struct _FLT_OBJECT FLT_OBJECT
NTSTATUS(FLTAPI * PFLT_INSTANCE_SETUP_CALLBACK)(_In_ PCFLT_RELATED_OBJECTS FltObjects, _In_ FLT_INSTANCE_SETUP_FLAGS Flags, _In_ DEVICE_TYPE VolumeDeviceType, _In_ FLT_FILESYSTEM_TYPE VolumeFilesystemType)
Definition: fltkernel.h:546
PVOID PIRP
Definition: usb.h:38
ULONG ERESOURCE
Definition: env_spec_w32.h:594
unsigned int ULONG
Definition: retypes.h:1
NTSTATUS(FLTAPI * PFLT_MESSAGE_NOTIFY)(_In_opt_ PVOID PortCookie, _In_reads_bytes_opt_(InputBufferLength) PVOID InputBuffer, _In_ ULONG InputBufferLength, _Out_writes_bytes_to_opt_(OutputBufferLength,*ReturnOutputBufferLength) PVOID OutputBuffer, _In_ ULONG OutputBufferLength, _Out_ PULONG ReturnOutputBufferLength)
Definition: fltkernel.h:839
FLT_MUTEX_LIST_HEAD PortList
Definition: fltmgrint.h:122
struct _PORT_CCB * PPORT_CCB
UNICODE_STRING AltitudeIntervalLow
Definition: fltmgrint.h:75
NTSTATUS FltpDeviceControlHandler(_In_ PDEVICE_OBJECT DeviceObject, _Inout_ PIRP Irp)
Definition: Dispatch.c:37
UNICODE_STRING Volume
Definition: fltmgrint.h:349
struct _FILTER_CCB FILTER_CCB
LIST_ENTRY OperationLists[50]
Definition: fltmgrint.h:255
UNICODE_STRING GuidName
Definition: fltmgrint.h:309
LIST_ENTRY FilterLink
Definition: fltmgrint.h:146
struct _FLT_INSTANCE * PFLT_INSTANCE
UNICODE_STRING Altitude
Definition: fltmgrint.h:144
USHORT Signature
Definition: fltmgrint.h:63
PFLT_DISCONNECT_NOTIFY DisconnectNotify
Definition: fltmgrint.h:192
enum _FLT_yINSTANCE_FLAGS FLT_INSTANCE_FLAGS
PFLT_GENERATE_FILE_NAME GenerateFileName
Definition: fltmgrint.h:115
NTSTATUS FltpSetupCommunicationObjects(_In_ PDRIVER_OBJECT DriverObject)
Definition: Messaging.c:377
struct _FLT_VOLUME FLT_VOLUME
ERESOURCE AltitudeLock
Definition: fltmgrint.h:74
struct _VOLUME_CCB * PVOLUME_CCB
PFLTP_FRAME Frame
Definition: fltmgrint.h:307
struct _TREE_ROOT * PTREE_ROOT
enum _CALLBACK_NODE_FLAGS CALLBACK_NODE_FLAGS
FLT_RESOURCE_LIST_HEAD StreamListCtrls
Definition: fltmgrint.h:316
PFLT_INSTANCE_TEARDOWN_CALLBACK InstanceTeardownComplete
Definition: fltmgrint.h:110
EX_PUSH_LOCK PortLock
Definition: fltmgrint.h:123
PDEVICE_OBJECT DiskDeviceObject
Definition: fltmgrint.h:304
ERESOURCE ContextLock
Definition: fltmgrint.h:175
PFLT_SERVER_PORT_OBJECT ServerPort
Definition: fltmgrint.h:217
TREE_ROOT List
Definition: fltmgrint.h:163
CALLBACK_CTRL Callbacks
Definition: fltmgrint.h:313
UNICODE_STRING DefaultAltitude
Definition: fltmgrint.h:101
struct _FLT_FILTER FLT_FILTER
struct _CALLBACK_CTRL CALLBACK_CTRL
struct _MANAGER_CCB MANAGER_CCB
EX_PUSH_LOCK TxVolContextListLock
Definition: fltmgrint.h:321
FLT_MUTEX_LIST_HEAD ConnectionList
Definition: fltmgrint.h:121
ULONG OperationRundownRef
Definition: fltmgrint.h:140
struct _FILTER_CCB * PFILTER_CCB
FAST_MUTEX Lock
Definition: fltmgrint.h:220
ERESOURCE ContextLock
Definition: fltmgrint.h:147
char LargeIrpCtrlStackSize
Definition: fltmgrint.h:77
struct _FLT_MUTEX_LIST_HEAD FLT_MUTEX_LIST_HEAD
PORT_CCB Port
Definition: fltmgrint.h:368