21#define SERVICES_KEY L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\"
22#define MAX_KEY_LENGTH 0x200
72 DriverServiceName.
Length = 0;
81 return ZwLoadDriver(&DriverServiceName);
100 DriverServiceName.
Length = 0;
119 ULONG CallbackBufferSize;
120 ULONG FilterBufferSize;
352 CurrentEntry = CurrentEntry->
Flink;
491 if (InstBuffer ==
NULL)
536 if (AltBuffer ==
NULL)
552 AltitudeString->Length = BytesRequired;
553 AltitudeString->MaximumLength = BytesRequired;
554 AltitudeString->Buffer = AltBuffer;
NTSTATUS FltpRegisterContexts(_In_ PFLT_FILTER Filter, _In_ const FLT_CONTEXT_REGISTRATION *Context)
static NTSTATUS GetFilterAltitude(_In_ PFLT_FILTER Filter, _Inout_ PUNICODE_STRING AltitudeString)
NTSTATUS NTAPI FltStartFiltering(_In_ PFLT_FILTER Filter)
NTSTATUS NTAPI FltGetFilterFromName(_In_ PCUNICODE_STRING FilterName, _Out_ PFLT_FILTER *RetFilter)
static NTSTATUS GetFilterFrame(_In_ PFLT_FILTER Filter, _In_ PUNICODE_STRING Altitude, _Out_ PFLTP_FRAME *Frame)
NTSTATUS FltpStartingToDrainObject(_Inout_ PFLT_OBJECT Object)
VOID FLTAPI FltUnregisterFilter(_In_ PFLT_FILTER Filter)
NTSTATUS NTAPI FltRegisterFilter(_In_ PDRIVER_OBJECT DriverObject, _In_ const FLT_REGISTRATION *Registration, _Out_ PFLT_FILTER *RetFilter)
NTSTATUS FltpAttachFrame(_In_ PUNICODE_STRING Altitude, _Inout_ PFLTP_FRAME *Frame)
NTSTATUS NTAPI FltLoadFilter(_In_ PCUNICODE_STRING FilterName)
NTSTATUS NTAPI FltUnloadFilter(_In_ PCUNICODE_STRING FilterName)
VOID FltpMiniFilterDriverUnload()
VOID FLTAPI FltObjectDereference(_Inout_ PVOID Object)
NTSTATUS FLTAPI FltObjectReference(_Inout_ PVOID Object)
NTSTATUS FltpOpenFilterServicesKey(_In_ PFLT_FILTER Filter, _In_ ACCESS_MASK DesiredAccess, _In_opt_ PUNICODE_STRING SubKey, _Out_ PHANDLE Handle)
NTSTATUS FltpReadRegistryValue(_In_ HANDLE KeyHandle, _In_ PUNICODE_STRING ValueName, _In_opt_ ULONG Type, _Out_writes_bytes_(BufferSize) PVOID Buffer, _In_ ULONG BufferSize, _Out_opt_ PULONG BytesRequired)
const struct winhelp_callbacks Callbacks
while(CdLookupNextInitialFileDirent(IrpContext, Fcb, FileContext))
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
#define STATUS_NOT_IMPLEMENTED
#define NT_SUCCESS(StatCode)
#define ExAllocatePoolWithTag(hernya, size, tag)
NTSTATUS ExInitializeResourceLite(PULONG res)
#define ExDeleteResourceLite(res)
#define InitializeListHead(ListHead)
#define ExAcquireResourceSharedLite(res, wait)
_Must_inspect_result_ _In_ CONST FLT_REGISTRATION * Registration
struct _FLT_OPERATION_REGISTRATION FLT_OPERATION_REGISTRATION
_Must_inspect_result_ _In_ CONST FLT_REGISTRATION _Outptr_ PFLT_FILTER * RetFilter
_Must_inspect_result_ _In_opt_ PFLT_FILTER Filter
#define IRP_MJ_VOLUME_MOUNT
#define FLTFL_REGISTRATION_DO_NOT_SUPPORT_SERVICE_STOP
struct _FLT_OPERATION_REGISTRATION * PFLT_OPERATION_REGISTRATION
_Must_inspect_result_ _Inout_ PFLT_VOLUME _In_ PCUNICODE_STRING Altitude
#define IRP_MJ_OPERATION_END
NTSTATUS(FLTAPI * PFLT_FILTER_UNLOAD_CALLBACK)(FLT_FILTER_UNLOAD_FLAGS Flags)
BOOLEAN FltpExRundownCompleted(_Inout_ PEX_RUNDOWN_REF RundownRef)
#define FM_TAG_UNICODE_STRING
VOID FltpExInitializeRundownProtection(_Out_ PEX_RUNDOWN_REF RundownRef)
NTSTATUS NTAPI FltpObjectRundownWait(_Inout_ PEX_RUNDOWN_REF RundownRef)
#define FLT_MAJOR_VERSION
@ FLTFL_FILTERING_INITIATED
struct _FLT_FILTER FLT_FILTER
_Must_inspect_result_ _In_ PFSRTL_PER_STREAM_CONTEXT Ptr
#define OBJ_KERNEL_HANDLE
#define OBJ_CASE_INSENSITIVE
void __cdecl __debugbreak(void)
#define KeLeaveCriticalRegion()
#define KeEnterCriticalRegion()
#define ExFreePoolWithTag(_P, _T)
#define InitializeObjectAttributes(p, n, a, r, s)
NTSYSAPI NTSTATUS NTAPI ZwUnloadDriver(_In_ PUNICODE_STRING DriverServiceName)
NTSYSAPI NTSTATUS NTAPI ZwClose(_In_ HANDLE Handle)
NTSYSAPI VOID NTAPI RtlCopyUnicodeString(PUNICODE_STRING DestinationString, PUNICODE_STRING SourceString)
NTSYSAPI NTSTATUS NTAPI RtlAppendUnicodeStringToString(PUNICODE_STRING Destination, PUNICODE_STRING Source)
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
#define UNREFERENCED_PARAMETER(P)
VOID FASTCALL ExReleaseResourceLite(IN PERESOURCE Resource)
#define STATUS_FLT_DELETING_OBJECT
#define STATUS_BUFFER_TOO_SMALL
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK InstanceQueryTeardown
FLT_MUTEX_LIST_HEAD PortList
FLT_RESOURCE_LIST_HEAD InstanceList
PFLT_GENERATE_FILE_NAME GenerateFileName
FLT_MUTEX_LIST_HEAD ConnectionList
PFLT_FILTER_UNLOAD_CALLBACK OldDriverUnload
PFLT_FILTER_UNLOAD_CALLBACK FilterUnload
PFLT_NORMALIZE_CONTEXT_CLEANUP NormalizeContextCleanup
PFLT_INSTANCE_SETUP_CALLBACK InstanceSetup
PFLT_INSTANCE_TEARDOWN_CALLBACK InstanceTeardownComplete
PDRIVER_OBJECT DriverObject
PFLT_INSTANCE_TEARDOWN_CALLBACK InstanceTeardownStart
PFLT_OPERATION_REGISTRATION Operations
PFLT_NORMALIZE_NAME_COMPONENT NormalizeNameComponent
FLT_MUTEX_LIST_HEAD ActiveOpens
UNICODE_STRING DefaultAltitude
EX_RUNDOWN_REF RundownRef
volatile FLT_OBJECT_FLAGS Flags
PFLT_INSTANCE_TEARDOWN_CALLBACK InstanceTeardownStartCallback
PFLT_NORMALIZE_NAME_COMPONENT NormalizeNameComponentCallback
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK InstanceQueryTeardownCallback
PFLT_NORMALIZE_CONTEXT_CLEANUP NormalizeContextCleanupCallback
PFLT_GENERATE_FILE_NAME GenerateFileNameCallback
PFLT_INSTANCE_SETUP_CALLBACK InstanceSetupCallback
CONST FLT_CONTEXT_REGISTRATION * ContextRegistration
PFLT_INSTANCE_TEARDOWN_CALLBACK InstanceTeardownCompleteCallback
PFLT_FILTER_UNLOAD_CALLBACK FilterUnloadCallback
CONST FLT_OPERATION_REGISTRATION * OperationRegistration
struct _LIST_ENTRY * Flink
#define RTL_CONSTANT_STRING(s)
#define RtlCopyMemory(Destination, Source, Length)
#define RtlZeroMemory(Destination, Length)
#define CONTAINING_RECORD(address, type, field)
#define STATUS_INVALID_PARAMETER
#define STATUS_INSUFFICIENT_RESOURCES
_Must_inspect_result_ _In_ WDFCOLLECTION _In_ WDFOBJECT Object
_Must_inspect_result_ _In_ PDRIVER_OBJECT DriverObject
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_WMI_INSTANCE_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_opt_ WDFWMIINSTANCE * Instance
FORCEINLINE VOID ExInitializeFastMutex(_Out_ PFAST_MUTEX FastMutex)
DRIVER_UNLOAD * PDRIVER_UNLOAD