WDK Mini Filter Example
|
Go to the source code of this file.
Macros | |
#define | MAKE_RESOURCE_OWNER(X) (((ERESOURCE_THREAD)(X)) | 0x3) |
Functions | |
FLT_PREOP_CALLBACK_STATUS | FmmPreCreate (_Inout_ PFLT_CALLBACK_DATA Cbd, _In_ PCFLT_RELATED_OBJECTS FltObjects, _Flt_CompletionContext_Outptr_ PVOID *CompletionContext) |
FLT_POSTOP_CALLBACK_STATUS | FmmPostCreate (_Inout_ PFLT_CALLBACK_DATA Cbd, _In_ PCFLT_RELATED_OBJECTS FltObjects, _In_ PVOID CbdContext, _In_ FLT_POST_OPERATION_FLAGS Flags) |
FLT_PREOP_CALLBACK_STATUS | FmmPreCleanup (_Inout_ PFLT_CALLBACK_DATA Cbd, _In_ PCFLT_RELATED_OBJECTS FltObjects, _Flt_CompletionContext_Outptr_ PVOID *CompletionContext) |
FLT_POSTOP_CALLBACK_STATUS | FmmPostCleanup (_Inout_ PFLT_CALLBACK_DATA Cbd, _In_ PCFLT_RELATED_OBJECTS FltObjects, _Inout_ PVOID CompletionContext, _In_ FLT_POST_OPERATION_FLAGS Flags) |
FLT_PREOP_CALLBACK_STATUS | FmmPreFSControl (_Inout_ PFLT_CALLBACK_DATA Cbd, _In_ PCFLT_RELATED_OBJECTS FltObjects, _Flt_CompletionContext_Outptr_ PVOID *CompletionContext) |
FLT_POSTOP_CALLBACK_STATUS | FmmPostFSControl (_Inout_ PFLT_CALLBACK_DATA Cbd, _In_ PCFLT_RELATED_OBJECTS FltObjects, _In_ PVOID CompletionContext, _In_ FLT_POST_OPERATION_FLAGS Flags) |
FLT_PREOP_CALLBACK_STATUS | FmmPreDeviceControl (_Inout_ PFLT_CALLBACK_DATA Cbd, _In_ PCFLT_RELATED_OBJECTS FltObjects, _Flt_CompletionContext_Outptr_ PVOID *CompletionContext) |
FLT_POSTOP_CALLBACK_STATUS | FmmPostDeviceControl (_Inout_ PFLT_CALLBACK_DATA Cbd, _In_ PCFLT_RELATED_OBJECTS FltObjects, _In_ PVOID CbdContext, _In_ FLT_POST_OPERATION_FLAGS Flags) |
FLT_PREOP_CALLBACK_STATUS | FmmPreShutdown (_Inout_ PFLT_CALLBACK_DATA Cbd, _In_ PCFLT_RELATED_OBJECTS FltObjects, _Flt_CompletionContext_Outptr_ PVOID *CompletionContext) |
FLT_PREOP_CALLBACK_STATUS | FmmPrePnp (_Inout_ PFLT_CALLBACK_DATA Cbd, _In_ PCFLT_RELATED_OBJECTS FltObjects, _Flt_CompletionContext_Outptr_ PVOID *CompletionContext) |
FLT_POSTOP_CALLBACK_STATUS | FmmPostPnp (_Inout_ PFLT_CALLBACK_DATA Cbd, _In_ PCFLT_RELATED_OBJECTS FltObjects, _In_ PVOID CbdContext, _In_ FLT_POST_OPERATION_FLAGS Flags) |
_Requires_lock_held_ (_Global_critical_region_) _Requires_lock_held_(InstanceContext -> MetadataResource) _IRQL_requires_max_(PASSIVE_LEVEL) NTSTATUS FmmOpenMetadata(_In_ PFMM_INSTANCE_CONTEXT InstanceContext, _In_ BOOLEAN CreateIfNotPresent) | |
NTSTATUS | FmmReleaseMetadataFileReferences (_Inout_ PFLT_CALLBACK_DATA Cbd) |
NTSTATUS | FmmReacquireMetadataFileReferences (_Inout_ PFLT_CALLBACK_DATA Cbd) |
NTSTATUS | FmmSetMetadataOpenTriggerFileObject (_Inout_ PFLT_CALLBACK_DATA Cbd) |
_Releases_lock_ (_Global_critical_region_) _Requires_lock_held_(InstanceContext -> MetadataResource) _Releases_lock_(InstanceContext->MetadataResource) _IRQL_requires_max_(APC_LEVEL) VOID FmmBeginFileSystemOperation(IN PFMM_INSTANCE_CONTEXT InstanceContext) | |
_Acquires_lock_ (_Global_critical_region_) _Requires_lock_not_held_(InstanceContext -> MetadataResource) _Acquires_exclusive_lock_(InstanceContext->MetadataResource) _IRQL_requires_max_(APC_LEVEL) VOID FmmEndFileSystemOperation(IN PFMM_INSTANCE_CONTEXT InstanceContext) | |
NTSTATUS | FmmAllocateUnicodeString (_Inout_ PUNICODE_STRING String) |
VOID | FmmFreeUnicodeString (_Inout_ PUNICODE_STRING String) |
BOOLEAN | FmmTargetIsVolumeOpen (_In_ PFLT_CALLBACK_DATA Cbd) |
NTSTATUS | FmmIsImplicitVolumeLock (_In_ PFLT_CALLBACK_DATA Cbd, _Out_ PBOOLEAN IsLock) |
Macro Definition Documentation
◆ MAKE_RESOURCE_OWNER
#define MAKE_RESOURCE_OWNER | ( | X | ) | (((ERESOURCE_THREAD)(X)) | 0x3) |
Definition at line 22 of file MetadataManagerProc.h.
Function Documentation
◆ _Acquires_lock_()
_Acquires_lock_ | ( | _Global_critical_region_ | ) | -> MetadataResource) _Acquires_exclusive_lock_(InstanceContext->MetadataResource) _IRQL_requires_max_(APC_LEVEL) VOID FmmEndFileSystemOperation ( IN PFMM_INSTANCE_CONTEXT InstanceContext ) |
Definition at line 205 of file MetadataManagerProc.h.
◆ _Releases_lock_()
_Releases_lock_ | ( | _Global_critical_region_ | ) | -> MetadataResource) _Releases_lock_(InstanceContext->MetadataResource) _IRQL_requires_max_(APC_LEVEL) VOID FmmBeginFileSystemOperation ( IN PFMM_INSTANCE_CONTEXT InstanceContext ) |
Definition at line 237 of file MetadataManagerProc.h.
◆ _Requires_lock_held_()
_Requires_lock_held_ | ( | _Global_critical_region_ | ) | -> MetadataResource) _IRQL_requires_max_(PASSIVE_LEVEL) NTSTATUS FmmOpenMetadata(_In_ PFMM_INSTANCE_CONTEXT InstanceContext, _In_ BOOLEAN CreateIfNotPresent) |
Definition at line 38 of file DataStore.c.
◆ FmmAllocateUnicodeString()
NTSTATUS FmmAllocateUnicodeString | ( | _Inout_ PUNICODE_STRING | String | ) |
Definition at line 42 of file MetadataManager/support.c.
◆ FmmFreeUnicodeString()
VOID FmmFreeUnicodeString | ( | _Inout_ PUNICODE_STRING | String | ) |
Definition at line 84 of file MetadataManager/support.c.
◆ FmmIsImplicitVolumeLock()
NTSTATUS FmmIsImplicitVolumeLock | ( | _In_ PFLT_CALLBACK_DATA | Cbd, |
_Out_ PBOOLEAN | IsLock | ||
) |
Definition at line 150 of file MetadataManager/support.c.
◆ FmmPostCleanup()
FLT_POSTOP_CALLBACK_STATUS FmmPostCleanup | ( | _Inout_ PFLT_CALLBACK_DATA | Cbd, |
_In_ PCFLT_RELATED_OBJECTS | FltObjects, | ||
_Inout_ PVOID | CompletionContext, | ||
_In_ FLT_POST_OPERATION_FLAGS | Flags | ||
) |
Definition at line 399 of file MetadataManager/operations.c.
◆ FmmPostCreate()
FLT_POSTOP_CALLBACK_STATUS FmmPostCreate | ( | _Inout_ PFLT_CALLBACK_DATA | Cbd, |
_In_ PCFLT_RELATED_OBJECTS | FltObjects, | ||
_In_ PVOID | CbdContext, | ||
_In_ FLT_POST_OPERATION_FLAGS | Flags | ||
) |
Definition at line 197 of file MetadataManager/operations.c.
◆ FmmPostDeviceControl()
FLT_POSTOP_CALLBACK_STATUS FmmPostDeviceControl | ( | _Inout_ PFLT_CALLBACK_DATA | Cbd, |
_In_ PCFLT_RELATED_OBJECTS | FltObjects, | ||
_In_ PVOID | CbdContext, | ||
_In_ FLT_POST_OPERATION_FLAGS | Flags | ||
) |
Definition at line 1026 of file MetadataManager/operations.c.
◆ FmmPostFSControl()
FLT_POSTOP_CALLBACK_STATUS FmmPostFSControl | ( | _Inout_ PFLT_CALLBACK_DATA | Cbd, |
_In_ PCFLT_RELATED_OBJECTS | FltObjects, | ||
_In_ PVOID | CompletionContext, | ||
_In_ FLT_POST_OPERATION_FLAGS | Flags | ||
) |
Definition at line 637 of file MetadataManager/operations.c.
◆ FmmPostPnp()
FLT_POSTOP_CALLBACK_STATUS FmmPostPnp | ( | _Inout_ PFLT_CALLBACK_DATA | Cbd, |
_In_ PCFLT_RELATED_OBJECTS | FltObjects, | ||
_In_ PVOID | CbdContext, | ||
_In_ FLT_POST_OPERATION_FLAGS | Flags | ||
) |
Definition at line 1276 of file MetadataManager/operations.c.
◆ FmmPreCleanup()
FLT_PREOP_CALLBACK_STATUS FmmPreCleanup | ( | _Inout_ PFLT_CALLBACK_DATA | Cbd, |
_In_ PCFLT_RELATED_OBJECTS | FltObjects, | ||
_Flt_CompletionContext_Outptr_ PVOID * | CompletionContext | ||
) |
Definition at line 370 of file MetadataManager/operations.c.
◆ FmmPreCreate()
FLT_PREOP_CALLBACK_STATUS FmmPreCreate | ( | _Inout_ PFLT_CALLBACK_DATA | Cbd, |
_In_ PCFLT_RELATED_OBJECTS | FltObjects, | ||
_Flt_CompletionContext_Outptr_ PVOID * | CompletionContext | ||
) |
Definition at line 54 of file MetadataManager/operations.c.
◆ FmmPreDeviceControl()
FLT_PREOP_CALLBACK_STATUS FmmPreDeviceControl | ( | _Inout_ PFLT_CALLBACK_DATA | Cbd, |
_In_ PCFLT_RELATED_OBJECTS | FltObjects, | ||
_Flt_CompletionContext_Outptr_ PVOID * | CompletionContext | ||
) |
Definition at line 889 of file MetadataManager/operations.c.
◆ FmmPreFSControl()
FLT_PREOP_CALLBACK_STATUS FmmPreFSControl | ( | _Inout_ PFLT_CALLBACK_DATA | Cbd, |
_In_ PCFLT_RELATED_OBJECTS | FltObjects, | ||
_Flt_CompletionContext_Outptr_ PVOID * | CompletionContext | ||
) |
Definition at line 534 of file MetadataManager/operations.c.
◆ FmmPrePnp()
FLT_PREOP_CALLBACK_STATUS FmmPrePnp | ( | _Inout_ PFLT_CALLBACK_DATA | Cbd, |
_In_ PCFLT_RELATED_OBJECTS | FltObjects, | ||
_Flt_CompletionContext_Outptr_ PVOID * | CompletionContext | ||
) |
Definition at line 1148 of file MetadataManager/operations.c.
◆ FmmPreShutdown()
FLT_PREOP_CALLBACK_STATUS FmmPreShutdown | ( | _Inout_ PFLT_CALLBACK_DATA | Cbd, |
_In_ PCFLT_RELATED_OBJECTS | FltObjects, | ||
_Flt_CompletionContext_Outptr_ PVOID * | CompletionContext | ||
) |
Definition at line 1104 of file MetadataManager/operations.c.
◆ FmmReacquireMetadataFileReferences()
NTSTATUS FmmReacquireMetadataFileReferences | ( | _Inout_ PFLT_CALLBACK_DATA | Cbd | ) |
Definition at line 580 of file DataStore.c.
◆ FmmReleaseMetadataFileReferences()
NTSTATUS FmmReleaseMetadataFileReferences | ( | _Inout_ PFLT_CALLBACK_DATA | Cbd | ) |
Definition at line 449 of file DataStore.c.
◆ FmmSetMetadataOpenTriggerFileObject()
NTSTATUS FmmSetMetadataOpenTriggerFileObject | ( | _Inout_ PFLT_CALLBACK_DATA | Cbd | ) |
Definition at line 731 of file DataStore.c.
◆ FmmTargetIsVolumeOpen()
BOOLEAN FmmTargetIsVolumeOpen | ( | _In_ PFLT_CALLBACK_DATA | Cbd | ) |
Definition at line 114 of file MetadataManager/support.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