96 lines
2.1 KiB
C
96 lines
2.1 KiB
C
#pragma once
|
|
|
|
|
|
EXTERN_C_START
|
|
|
|
DRIVER_INITIALIZE DriverEntry;
|
|
NTSTATUS
|
|
DriverEntry(
|
|
_In_ PDRIVER_OBJECT DriverObject,
|
|
_In_ PUNICODE_STRING RegistryPath
|
|
);
|
|
|
|
NTSTATUS
|
|
Bs1FltInstanceSetup(
|
|
_In_ PCFLT_RELATED_OBJECTS FltObjects,
|
|
_In_ FLT_INSTANCE_SETUP_FLAGS Flags,
|
|
_In_ DEVICE_TYPE VolumeDeviceType,
|
|
_In_ FLT_FILESYSTEM_TYPE VolumeFilesystemType
|
|
);
|
|
|
|
VOID
|
|
Bs1FltCleanupVolumeContext(
|
|
__in PFLT_CONTEXT Context,
|
|
__in FLT_CONTEXT_TYPE ContextType
|
|
);
|
|
|
|
VOID
|
|
Bs1FltInstanceTeardownStart(
|
|
_In_ PCFLT_RELATED_OBJECTS FltObjects,
|
|
_In_ FLT_INSTANCE_TEARDOWN_FLAGS Flags
|
|
);
|
|
|
|
VOID
|
|
Bs1FltInstanceTeardownComplete(
|
|
_In_ PCFLT_RELATED_OBJECTS FltObjects,
|
|
_In_ FLT_INSTANCE_TEARDOWN_FLAGS Flags
|
|
);
|
|
|
|
NTSTATUS
|
|
Bs1FltUnload(
|
|
_In_ FLT_FILTER_UNLOAD_FLAGS Flags
|
|
);
|
|
|
|
NTSTATUS
|
|
Bs1FltInstanceQueryTeardown(
|
|
_In_ PCFLT_RELATED_OBJECTS FltObjects,
|
|
_In_ FLT_INSTANCE_QUERY_TEARDOWN_FLAGS Flags
|
|
);
|
|
|
|
FLT_PREOP_CALLBACK_STATUS
|
|
Bs1FltPreOperation(
|
|
_Inout_ PFLT_CALLBACK_DATA Data,
|
|
_In_ PCFLT_RELATED_OBJECTS FltObjects,
|
|
_Flt_CompletionContext_Outptr_ PVOID* CompletionContext
|
|
);
|
|
|
|
VOID
|
|
Bs1FltOperationStatusCallback(
|
|
_In_ PCFLT_RELATED_OBJECTS FltObjects,
|
|
_In_ PFLT_IO_PARAMETER_BLOCK ParameterSnapshot,
|
|
_In_ NTSTATUS OperationStatus,
|
|
_In_ PVOID RequesterContext
|
|
);
|
|
|
|
FLT_POSTOP_CALLBACK_STATUS
|
|
Bs1FltPostOperation(
|
|
_Inout_ PFLT_CALLBACK_DATA Data,
|
|
_In_ PCFLT_RELATED_OBJECTS FltObjects,
|
|
_In_opt_ PVOID CompletionContext,
|
|
_In_ FLT_POST_OPERATION_FLAGS Flags
|
|
);
|
|
|
|
FLT_PREOP_CALLBACK_STATUS
|
|
Bs1FltPreRead(
|
|
__inout PFLT_CALLBACK_DATA Data,
|
|
__in PCFLT_RELATED_OBJECTS FltObjects,
|
|
__deref_out_opt PVOID* CompletionContext
|
|
);
|
|
|
|
FLT_PREOP_CALLBACK_STATUS
|
|
Bs1FltPreOperationNoPostOperation(
|
|
_Inout_ PFLT_CALLBACK_DATA Data,
|
|
_In_ PCFLT_RELATED_OBJECTS FltObjects,
|
|
_Flt_CompletionContext_Outptr_ PVOID* CompletionContext
|
|
);
|
|
|
|
BOOLEAN
|
|
Bs1FltDoRequestOperationStatus(
|
|
_In_ PFLT_CALLBACK_DATA Data
|
|
);
|
|
|
|
#define READ_MODE (FILE_READ_DATA|FILE_READ_ATTRIBUTES|FILE_READ_EA)
|
|
#define WRITE_MODE (FILE_WRITE_DATA|FILE_WRITE_ATTRIBUTES|FILE_WRITE_EA|FILE_APPEND_DATA)
|
|
|
|
EXTERN_C_END
|