WDK Mini Filter Example
|
#include "pch.h"
Go to the source code of this file.
Functions | |
NTSTATUS | DriverEntry (_In_ PDRIVER_OBJECT DriverObject, _In_ PUNICODE_STRING RegistryPath) |
NTSTATUS | CtxUnload (_In_ FLT_FILTER_UNLOAD_FLAGS Flags) |
VOID | CtxContextCleanup (_In_ PFLT_CONTEXT Context, _In_ FLT_CONTEXT_TYPE ContextType) |
NTSTATUS | CtxInstanceSetup (_In_ PCFLT_RELATED_OBJECTS FltObjects, _In_ FLT_INSTANCE_SETUP_FLAGS Flags, _In_ DEVICE_TYPE VolumeDeviceType, _In_ FLT_FILESYSTEM_TYPE VolumeFilesystemType) |
NTSTATUS | CtxInstanceQueryTeardown (_In_ PCFLT_RELATED_OBJECTS FltObjects, _In_ FLT_INSTANCE_QUERY_TEARDOWN_FLAGS Flags) |
VOID | CtxInstanceTeardownStart (_In_ PCFLT_RELATED_OBJECTS FltObjects, _In_ FLT_INSTANCE_TEARDOWN_FLAGS Flags) |
VOID | CtxInstanceTeardownComplete (_In_ PCFLT_RELATED_OBJECTS FltObjects, _In_ FLT_INSTANCE_TEARDOWN_FLAGS Flags) |
Variables | |
CTX_GLOBAL_DATA | Globals |
DRIVER_INITIALIZE | DriverEntry |
FLT_OPERATION_REGISTRATION | Callbacks [] |
const FLT_CONTEXT_REGISTRATION | ContextRegistration [] |
FLT_REGISTRATION | FilterRegistration |
Function Documentation
◆ CtxContextCleanup()
VOID CtxContextCleanup | ( | _In_ PFLT_CONTEXT | Context, |
_In_ FLT_CONTEXT_TYPE | ContextType | ||
) |
◆ CtxInstanceQueryTeardown()
NTSTATUS CtxInstanceQueryTeardown | ( | _In_ PCFLT_RELATED_OBJECTS | FltObjects, |
_In_ FLT_INSTANCE_QUERY_TEARDOWN_FLAGS | Flags | ||
) |
◆ CtxInstanceSetup()
NTSTATUS CtxInstanceSetup | ( | _In_ PCFLT_RELATED_OBJECTS | FltObjects, |
_In_ FLT_INSTANCE_SETUP_FLAGS | Flags, | ||
_In_ DEVICE_TYPE | VolumeDeviceType, | ||
_In_ FLT_FILESYSTEM_TYPE | VolumeFilesystemType | ||
) |
◆ CtxInstanceTeardownComplete()
VOID CtxInstanceTeardownComplete | ( | _In_ PCFLT_RELATED_OBJECTS | FltObjects, |
_In_ FLT_INSTANCE_TEARDOWN_FLAGS | Flags | ||
) |
◆ CtxInstanceTeardownStart()
VOID CtxInstanceTeardownStart | ( | _In_ PCFLT_RELATED_OBJECTS | FltObjects, |
_In_ FLT_INSTANCE_TEARDOWN_FLAGS | Flags | ||
) |
◆ CtxUnload()
◆ DriverEntry()
NTSTATUS DriverEntry | ( | _In_ PDRIVER_OBJECT | DriverObject, |
_In_ PUNICODE_STRING | RegistryPath | ||
) |
Variable Documentation
◆ Callbacks
FLT_OPERATION_REGISTRATION Callbacks[] |
Initial value:
= {
FLTFL_OPERATION_REGISTRATION_SKIP_PAGING_IO,
FLTFL_OPERATION_REGISTRATION_SKIP_PAGING_IO,
NULL },
{ IRP_MJ_CLOSE,
FLTFL_OPERATION_REGISTRATION_SKIP_PAGING_IO,
NULL },
FLTFL_OPERATION_REGISTRATION_SKIP_PAGING_IO,
{ IRP_MJ_OPERATION_END }
}
FLT_POSTOP_CALLBACK_STATUS CtxPostCreate(_Inout_ PFLT_CALLBACK_DATA Cbd, _In_ PCFLT_RELATED_OBJECTS FltObjects, _Inout_opt_ PVOID CbdContext, _In_ FLT_POST_OPERATION_FLAGS Flags)
Definition: ctx/operations.c:74
FLT_PREOP_CALLBACK_STATUS CtxPreClose(_Inout_ PFLT_CALLBACK_DATA Cbd, _In_ PCFLT_RELATED_OBJECTS FltObjects, _Flt_CompletionContext_Outptr_ PVOID *CompletionContext)
Definition: ctx/operations.c:530
FLT_POSTOP_CALLBACK_STATUS CtxPostSetInfo(_Inout_ PFLT_CALLBACK_DATA Cbd, _In_ PCFLT_RELATED_OBJECTS FltObjects, _Inout_opt_ PVOID CbdContext, _In_ FLT_POST_OPERATION_FLAGS Flags)
Definition: ctx/operations.c:711
FLT_PREOP_CALLBACK_STATUS CtxPreSetInfo(_Inout_ PFLT_CALLBACK_DATA Cbd, _In_ PCFLT_RELATED_OBJECTS FltObjects, _Flt_CompletionContext_Outptr_ PVOID *CompletionContext)
Definition: ctx/operations.c:650
FLT_PREOP_CALLBACK_STATUS CtxPreCreate(_Inout_ PFLT_CALLBACK_DATA Cbd, _In_ PCFLT_RELATED_OBJECTS FltObjects, _Flt_CompletionContext_Outptr_ PVOID *CompletionContext)
Definition: ctx/operations.c:40
FLT_PREOP_CALLBACK_STATUS CtxPreCleanup(_Inout_ PFLT_CALLBACK_DATA Cbd, _In_ PCFLT_RELATED_OBJECTS FltObjects, _Flt_CompletionContext_Outptr_ PVOID *CompletionContext)
Definition: ctx/operations.c:406
◆ ContextRegistration
const FLT_CONTEXT_REGISTRATION ContextRegistration[] |
Initial value:
= {
{ FLT_INSTANCE_CONTEXT,
0,
{ FLT_FILE_CONTEXT,
0,
{ FLT_STREAM_CONTEXT,
0,
{ FLT_STREAMHANDLE_CONTEXT,
0,
{ FLT_CONTEXT_END }
}
VOID CtxContextCleanup(_In_ PFLT_CONTEXT Context, _In_ FLT_CONTEXT_TYPE ContextType)
Definition: CtxInit.c:392
◆ DriverEntry
◆ FilterRegistration
FLT_REGISTRATION FilterRegistration |
Initial value:
= {
sizeof( FLT_REGISTRATION ),
FLT_REGISTRATION_VERSION,
0,
}
NTSTATUS CtxInstanceSetup(_In_ PCFLT_RELATED_OBJECTS FltObjects, _In_ FLT_INSTANCE_SETUP_FLAGS Flags, _In_ DEVICE_TYPE VolumeDeviceType, _In_ FLT_FILESYSTEM_TYPE VolumeFilesystemType)
Definition: CtxInit.c:532
VOID CtxInstanceTeardownStart(_In_ PCFLT_RELATED_OBJECTS FltObjects, _In_ FLT_INSTANCE_TEARDOWN_FLAGS Flags)
Definition: CtxInit.c:786
VOID CtxInstanceTeardownComplete(_In_ PCFLT_RELATED_OBJECTS FltObjects, _In_ FLT_INSTANCE_TEARDOWN_FLAGS Flags)
Definition: CtxInit.c:826
NTSTATUS CtxInstanceQueryTeardown(_In_ PCFLT_RELATED_OBJECTS FltObjects, _In_ FLT_INSTANCE_QUERY_TEARDOWN_FLAGS Flags)
Definition: CtxInit.c:743
◆ Globals
CTX_GLOBAL_DATA Globals |
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