1 #ifndef _FLTMGR_INTERNAL_H 2 #define _FLTMGR_INTERNAL_H 5 #define MAX_CONTEXT_TYPES 6
UNICODE_STRING DeviceName
FLT_RESOURCE_LIST_HEAD InstanceList
enum _FLT_OBJECT_FLAGS * PFLT_OBJECT_FLAGS
enum _FLT_FILTER_FLAGS FLT_FILTER_FLAGS
struct _NAME_CACHE_VOLUME_CTRL * PNAME_CACHE_VOLUME_CTRL
struct _STREAM_LIST_CTRL STREAM_LIST_CTRL
BOOLEAN FltpExAcquireRundownProtection(_Inout_ PEX_RUNDOWN_REF RundownRef)
PDEVICE_OBJECT DeviceObject
struct _FLT_INSTANCE FLT_INSTANCE
ULONG NormalizedNameCache
struct LOOKASIDE_ALIGN _NPAGED_LOOKASIDE_LIST NPAGED_LOOKASIDE_LIST
#define MAX_CONTEXT_TYPES
enum _FLT_FILTER_FLAGS * PFLT_FILTER_FLAGS
struct _FLT_MESSAGE_WAITER_QUEUE * PFLT_MESSAGE_WAITER_QUEUE
CALLBACK_NODE_FLAGS OperationFlags[50]
VOID FltpFreeUnicodeString(_In_ PUNICODE_STRING String)
enum _FLT_OBJECT_FLAGS FLT_OBJECT_FLAGS
ULONG AllContextsTemporary
UNICODE_STRING CDODeviceName
PFLT_NORMALIZE_CONTEXT_CLEANUP NormalizeContextCleanup
PFLT_CONNECT_NOTIFY ConnectNotify
struct _FLT_PORT_OBJECT FLT_PORT_OBJECT
struct _FLT_TYPE * PFLT_TYPE
CONTEXT_LIST_CTRL VolumeContexts
CONTEXT_LIST_CTRL StreamHandleContexts
struct _FLT_TYPE FLT_TYPE
BOOLEAN FltpExReleaseRundownProtection(_Inout_ PEX_RUNDOWN_REF RundownRef)
PVOID TrackCompletionNodes
NTSTATUS FltpGetBaseDeviceObjectName(_In_ PDEVICE_OBJECT DeviceObject, _Inout_ PUNICODE_STRING ObjectName)
struct _NAME_CACHE_LIST_CTRL_STATS NAME_CACHE_LIST_CTRL_STATS
NTSTATUS FltpReallocateUnicodeString(_In_ PUNICODE_STRING String, _In_ SIZE_T NewLength, _In_ BOOLEAN CopyExisting)
PFLT_INSTANCE_TEARDOWN_CALLBACK InstanceTeardownStart
struct _NAME_CACHE_LIST_CTRL_STATS * PNAME_CACHE_LIST_CTRL_STATS
_In_ PVOID _Out_opt_ PULONG_PTR _Outptr_opt_ PCUNICODE_STRING * ObjectName
FLT_MUTEX_LIST_HEAD ActiveOpens
enum _FLT_INSTANCE_FLAGS FLT_INSTANCE_FLAGS
PFLT_FILTER_UNLOAD_CALLBACK OldDriverUnload
struct _FLT_RESOURCE_LIST_HEAD FLT_RESOURCE_LIST_HEAD
ULONG MinimumWaiterLength
PALLOCATE_CONTEXT_HEADER SupportedContexts[MAX_CONTEXT_TYPES]
static USHORT USHORT * NewLength
ULONG FltpObjectPointerReference(_In_ PFLT_OBJECT Object)
FLT_MUTEX_LIST_HEAD AttachedFileSystems
struct _TREE_ROOT TREE_ROOT
LIST_ENTRY MountingVolumes
CONTEXT_LIST_CTRL StreamContexts
struct _INSTANCE_CCB INSTANCE_CCB
PFLT_VOLUME VolumeInNextFrame
struct _INSTANCE_CCB * PINSTANCE_CCB
_In_ PDEVICE_OBJECT DeviceObject
FLT_RESOURCE_LIST_HEAD FileListCtrls
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
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
EX_RUNDOWN_REF RundownRef
NAME_CACHE_VOLUME_CTRL_STATS Stats
ERESOURCE MountNotifyLock
FLT_RESOURCE_LIST_HEAD AttachedVolumes
FLT_MESSAGE_WAITER_QUEUE MsgQ
struct _FLT_SERVER_PORT_OBJECT * PFLT_SERVER_PORT_OBJECT
NPAGED_LOOKASIDE_LIST LargeIrpCtrlLookasideList
struct _VOLUME_CCB VOLUME_CCB
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK InstanceQueryTeardown
NAME_CACHE_LIST_CTRL_STATS ShortNames
FAST_MUTEX DeviceObjectAttachLock
LARGE_INTEGER LastRenameCompleted
FLT_FILESYSTEM_TYPE FileSystemType
VOID(FLTAPI * PFLT_CONTEXT_CLEANUP_CALLBACK)(_In_ PFLT_CONTEXT Context, _In_ FLT_CONTEXT_TYPE ContextType)
PDRIVER_OBJECT DriverObject
NTSTATUS FltpGetObjectName(_In_ PVOID Object, _Inout_ PUNICODE_STRING ObjectName)
struct _FLT_FILTER * PFLT_FILTER
PFLT_INSTANCE_SETUP_CALLBACK InstanceSetup
NAME_CACHE_LIST_CTRL_STATS NormalizedNames
enum _FLT_VOLUME_FLAGS FLT_VOLUME_FLAGS
struct _FLTP_FRAME FLTP_FRAME
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
VOID FltpExInitializeRundownProtection(_Out_ PEX_RUNDOWN_REF RundownRef)
BOOLEAN FltpExRundownCompleted(_Inout_ PEX_RUNDOWN_REF RundownRef)
enum _FLT_VOLUME_FLAGS * PFLT_VOLUME_FLAGS
UNICODE_STRING CDODriverName
LARGE_INTEGER LastRenameCompleted
FLT_RESOURCE_LIST_HEAD RegisteredFilters
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)
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)
NTSTATUS(FLTAPI * PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK)(_In_ PCFLT_RELATED_OBJECTS FltObjects, _In_ FLT_INSTANCE_QUERY_TEARDOWN_FLAGS Flags)
void * LookasidePoolToFree
NAME_CACHE_LIST_CTRL_STATS OpenedNames
PFLT_VOLUME FrameZeroVolume
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)
VOID(FLTAPI * PFLT_INSTANCE_TEARDOWN_CALLBACK)(_In_ PCFLT_RELATED_OBJECTS FltObjects, _In_ FLT_INSTANCE_TEARDOWN_FLAGS Reason)
FSRTL_PER_STREAM_CONTEXT ContextCtrl
PFLT_OPERATION_REGISTRATION Operations
NTSTATUS FltpMsgCreate(_In_ PDEVICE_OBJECT DeviceObject, _Inout_ PIRP Irp)
VOID FltpObjectPointerDereference(_In_ PFLT_OBJECT Object)
struct _FLT_CCB * PFLT_CCB
struct _FLT_RESOURCE_LIST_HEAD * PFLT_RESOURCE_LIST_HEAD
struct _PORT_CCB PORT_CCB
struct _FLT_OBJECT * PFLT_OBJECT
struct _CONTEXT_LIST_CTRL CONTEXT_LIST_CTRL
ULONG TargetedOpenActiveCount
enum _FLT_INSTANCE_FLAGS * PFLT_INSTANCE_FLAGS
NAME_CACHE_VOLUME_CTRL NameCacheCtrl
NTSTATUS FltpDispatchHandler(_In_ PDEVICE_OBJECT DeviceObject, _Inout_ PIRP Irp)
struct _CALLBACK_CTRL * PCALLBACK_CTRL
FLT_MUTEX_LIST_HEAD ReplyWaiterList
NTSTATUS(FLTAPI * PFLT_FILTER_UNLOAD_CALLBACK)(FLT_FILTER_UNLOAD_FLAGS Flags)
struct _ALLOCATE_CONTEXT_HEADER * PALLOCATE_CONTEXT_HEADER
volatile FLT_OBJECT_FLAGS Flags
struct _NAME_CACHE_VOLUME_CTRL NAME_CACHE_VOLUME_CTRL
_Must_inspect_result_ _In_ WDFCOLLECTION _In_ WDFOBJECT Object
NPAGED_LOOKASIDE_LIST SmallIrpCtrlLookasideList
ERESOURCE FilterUnloadLock
PFLT_FILTER_UNLOAD_CALLBACK FilterUnload
struct _MANAGER_CCB * PMANAGER_CCB
struct _FLTP_FRAME * PFLTP_FRAME
FLT_MUTEX_LIST_HEAD WaiterQ
struct _STREAM_LIST_CTRL * PSTREAM_LIST_CTRL
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)
char SmallIrpCtrlStackSize
PFLT_NORMALIZE_NAME_COMPONENT NormalizeNameComponent
enum _CALLBACK_NODE_FLAGS * PCALLBACK_NODE_FLAGS
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)
struct _FLT_VOLUME * PFLT_VOLUME
PALLOCATE_CONTEXT_HEADER SupportedContextsListHead
struct _CONTEXT_LIST_CTRL * PCONTEXT_LIST_CTRL
NTSTATUS NTAPI FltpObjectRundownWait(_Inout_ PEX_RUNDOWN_REF RundownRef)
VOID(FLTAPI * PFLT_DISCONNECT_NOTIFY)(_In_opt_ PVOID ConnectionCookie)
EX_RUNDOWN_REF MsgNotifRundownRef
UNICODE_STRING AltitudeIntervalHigh
NTSTATUS FltpMsgDispatch(_In_ PDEVICE_OBJECT DeviceObject, _Inout_ PIRP Irp)
FLT_RESOURCE_LIST_HEAD InstanceList
struct _FLT_MUTEX_LIST_HEAD * PFLT_MUTEX_LIST_HEAD
struct _NAME_CACHE_VOLUME_CTRL_STATS * PNAME_CACHE_VOLUME_CTRL_STATS
int AllNameContextsTemporary
FLT_MUTEX_LIST_HEAD ZombiedFltObjectContexts
struct _ALLOCATE_CONTEXT_HEADER ALLOCATE_CONTEXT_HEADER
PFLT_MESSAGE_NOTIFY MessageNotify
struct _FLT_SERVER_PORT_OBJECT FLT_SERVER_PORT_OBJECT
struct _FLT_OBJECT FLT_OBJECT
FLT_MUTEX_LIST_HEAD PortList
struct _PORT_CCB * PPORT_CCB
UNICODE_STRING AltitudeIntervalLow
NTSTATUS FltpDeviceControlHandler(_In_ PDEVICE_OBJECT DeviceObject, _Inout_ PIRP Irp)
struct _FILTER_CCB FILTER_CCB
LIST_ENTRY OperationLists[50]
struct _FLT_INSTANCE * PFLT_INSTANCE
PFLT_DISCONNECT_NOTIFY DisconnectNotify
PFLT_GENERATE_FILE_NAME GenerateFileName
NTSTATUS FltpSetupCommunicationObjects(_In_ PDRIVER_OBJECT DriverObject)
struct _FLT_VOLUME FLT_VOLUME
struct _VOLUME_CCB * PVOLUME_CCB
VOID(FLTAPI * PFLT_NORMALIZE_CONTEXT_CLEANUP)(_In_opt_ PVOID *NormalizationContext)
struct _TREE_ROOT * PTREE_ROOT
enum _CALLBACK_NODE_FLAGS CALLBACK_NODE_FLAGS
FLT_RESOURCE_LIST_HEAD StreamListCtrls
PFLT_INSTANCE_TEARDOWN_CALLBACK InstanceTeardownComplete
PDEVICE_OBJECT DiskDeviceObject
ULONG AllContextsTemporary
PFLT_SERVER_PORT_OBJECT ServerPort
UNICODE_STRING DefaultAltitude
struct _FLT_FILTER FLT_FILTER
struct _CALLBACK_CTRL CALLBACK_CTRL
struct _MANAGER_CCB MANAGER_CCB
EX_PUSH_LOCK TxVolContextListLock
FLT_MUTEX_LIST_HEAD ConnectionList
ULONG OperationRundownRef
struct _FILTER_CCB * PFILTER_CCB
char LargeIrpCtrlStackSize
struct _FLT_MUTEX_LIST_HEAD FLT_MUTEX_LIST_HEAD