WDK Mini Filter Example
MetadataManagerProc.h File Reference

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.

Social Network


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