WDK Mini Filter Example
|
#include <fltKernel.h>
#include <dontuse.h>
#include <suppress.h>
Go to the source code of this file.
Macros | |
#define | PTDBG_TRACE_ROUTINES 0x00000001 |
#define | PTDBG_TRACE_OPERATION_STATUS 0x00000002 |
#define | PT_DBG_PRINT(_dbgLevel, _string) |
Functions | |
NTSTATUS | DriverEntry (_In_ PDRIVER_OBJECT DriverObject, _In_ PUNICODE_STRING RegistryPath) |
NTSTATUS | PtInstanceSetup (_In_ PCFLT_RELATED_OBJECTS FltObjects, _In_ FLT_INSTANCE_SETUP_FLAGS Flags, _In_ DEVICE_TYPE VolumeDeviceType, _In_ FLT_FILESYSTEM_TYPE VolumeFilesystemType) |
VOID | PtInstanceTeardownStart (_In_ PCFLT_RELATED_OBJECTS FltObjects, _In_ FLT_INSTANCE_TEARDOWN_FLAGS Flags) |
VOID | PtInstanceTeardownComplete (_In_ PCFLT_RELATED_OBJECTS FltObjects, _In_ FLT_INSTANCE_TEARDOWN_FLAGS Flags) |
NTSTATUS | PtUnload (_In_ FLT_FILTER_UNLOAD_FLAGS Flags) |
NTSTATUS | PtInstanceQueryTeardown (_In_ PCFLT_RELATED_OBJECTS FltObjects, _In_ FLT_INSTANCE_QUERY_TEARDOWN_FLAGS Flags) |
FLT_PREOP_CALLBACK_STATUS | PtPreOperationPassThrough (_Inout_ PFLT_CALLBACK_DATA Data, _In_ PCFLT_RELATED_OBJECTS FltObjects, _Flt_CompletionContext_Outptr_ PVOID *CompletionContext) |
VOID | PtOperationStatusCallback (_In_ PCFLT_RELATED_OBJECTS FltObjects, _In_ PFLT_IO_PARAMETER_BLOCK ParameterSnapshot, _In_ NTSTATUS OperationStatus, _In_ PVOID RequesterContext) |
FLT_POSTOP_CALLBACK_STATUS | PtPostOperationPassThrough (_Inout_ PFLT_CALLBACK_DATA Data, _In_ PCFLT_RELATED_OBJECTS FltObjects, _In_opt_ PVOID CompletionContext, _In_ FLT_POST_OPERATION_FLAGS Flags) |
FLT_PREOP_CALLBACK_STATUS | PtPreOperationNoPostOperationPassThrough (_Inout_ PFLT_CALLBACK_DATA Data, _In_ PCFLT_RELATED_OBJECTS FltObjects, _Flt_CompletionContext_Outptr_ PVOID *CompletionContext) |
BOOLEAN | PtDoRequestOperationStatus (_In_ PFLT_CALLBACK_DATA Data) |
Variables | |
PFLT_FILTER | gFilterHandle |
ULONG_PTR | OperationStatusCtx = 1 |
ULONG | gTraceFlags = 0 |
DRIVER_INITIALIZE | DriverEntry |
CONST FLT_OPERATION_REGISTRATION | Callbacks [] |
CONST FLT_REGISTRATION | FilterRegistration |
Macro Definition Documentation
◆ PT_DBG_PRINT
#define PT_DBG_PRINT | ( | _dbgLevel, | |
_string | |||
) |
Definition at line 37 of file passThrough.c.
◆ PTDBG_TRACE_OPERATION_STATUS
#define PTDBG_TRACE_OPERATION_STATUS 0x00000002 |
Definition at line 32 of file passThrough.c.
◆ PTDBG_TRACE_ROUTINES
#define PTDBG_TRACE_ROUTINES 0x00000001 |
Definition at line 31 of file passThrough.c.
Function Documentation
◆ DriverEntry()
NTSTATUS DriverEntry | ( | _In_ PDRIVER_OBJECT | DriverObject, |
_In_ PUNICODE_STRING | RegistryPath | ||
) |
Definition at line 523 of file passThrough.c.
◆ PtDoRequestOperationStatus()
BOOLEAN PtDoRequestOperationStatus | ( | _In_ PFLT_CALLBACK_DATA | Data | ) |
Definition at line 839 of file passThrough.c.
◆ PtInstanceQueryTeardown()
NTSTATUS PtInstanceQueryTeardown | ( | _In_ PCFLT_RELATED_OBJECTS | FltObjects, |
_In_ FLT_INSTANCE_QUERY_TEARDOWN_FLAGS | Flags | ||
) |
Definition at line 409 of file passThrough.c.
◆ PtInstanceSetup()
NTSTATUS PtInstanceSetup | ( | _In_ PCFLT_RELATED_OBJECTS | FltObjects, |
_In_ FLT_INSTANCE_SETUP_FLAGS | Flags, | ||
_In_ DEVICE_TYPE | VolumeDeviceType, | ||
_In_ FLT_FILESYSTEM_TYPE | VolumeFilesystemType | ||
) |
Definition at line 364 of file passThrough.c.
◆ PtInstanceTeardownComplete()
VOID PtInstanceTeardownComplete | ( | _In_ PCFLT_RELATED_OBJECTS | FltObjects, |
_In_ FLT_INSTANCE_TEARDOWN_FLAGS | Flags | ||
) |
Definition at line 485 of file passThrough.c.
◆ PtInstanceTeardownStart()
VOID PtInstanceTeardownStart | ( | _In_ PCFLT_RELATED_OBJECTS | FltObjects, |
_In_ FLT_INSTANCE_TEARDOWN_FLAGS | Flags | ||
) |
Definition at line 451 of file passThrough.c.
◆ PtOperationStatusCallback()
VOID PtOperationStatusCallback | ( | _In_ PCFLT_RELATED_OBJECTS | FltObjects, |
_In_ PFLT_IO_PARAMETER_BLOCK | ParameterSnapshot, | ||
_In_ NTSTATUS | OperationStatus, | ||
_In_ PVOID | RequesterContext | ||
) |
Definition at line 692 of file passThrough.c.
◆ PtPostOperationPassThrough()
FLT_POSTOP_CALLBACK_STATUS PtPostOperationPassThrough | ( | _Inout_ PFLT_CALLBACK_DATA | Data, |
_In_ PCFLT_RELATED_OBJECTS | FltObjects, | ||
_In_opt_ PVOID | CompletionContext, | ||
_In_ FLT_POST_OPERATION_FLAGS | Flags | ||
) |
Definition at line 747 of file passThrough.c.
◆ PtPreOperationNoPostOperationPassThrough()
FLT_PREOP_CALLBACK_STATUS PtPreOperationNoPostOperationPassThrough | ( | _Inout_ PFLT_CALLBACK_DATA | Data, |
_In_ PCFLT_RELATED_OBJECTS | FltObjects, | ||
_Flt_CompletionContext_Outptr_ PVOID * | CompletionContext | ||
) |
Definition at line 793 of file passThrough.c.
◆ PtPreOperationPassThrough()
FLT_PREOP_CALLBACK_STATUS PtPreOperationPassThrough | ( | _Inout_ PFLT_CALLBACK_DATA | Data, |
_In_ PCFLT_RELATED_OBJECTS | FltObjects, | ||
_Flt_CompletionContext_Outptr_ PVOID * | CompletionContext | ||
) |
Definition at line 622 of file passThrough.c.
◆ PtUnload()
NTSTATUS PtUnload | ( | _In_ FLT_FILTER_UNLOAD_FLAGS | Flags | ) |
Definition at line 583 of file passThrough.c.
Variable Documentation
◆ Callbacks
CONST FLT_OPERATION_REGISTRATION Callbacks[] |
Definition at line 136 of file passThrough.c.
◆ DriverEntry
DRIVER_INITIALIZE DriverEntry |
Definition at line 46 of file passThrough.c.
◆ FilterRegistration
CONST FLT_REGISTRATION FilterRegistration |
Definition at line 339 of file passThrough.c.
◆ gFilterHandle
PFLT_FILTER gFilterHandle |
Definition at line 28 of file passThrough.c.
◆ gTraceFlags
ULONG gTraceFlags = 0 |
Definition at line 34 of file passThrough.c.
◆ OperationStatusCtx
ULONG_PTR OperationStatusCtx = 1 |
Definition at line 29 of file passThrough.c.
Services Overview
Architect, implement and test file system filter drivers for a wide range of functionality. We can offer several levels of assistance to meet your specific.
Contact Us
You are welcome to contact us for salse or partnership.
Sales: sales@easefilter.com
Support: support@easefilter.com
Info: info@easefilter.com