Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma once
- #include <fltKernel.h>
- #ifdef DBG
- /*Prints if compiled in debug*/
- #define DPrint(msg, ...) DbgPrintEx(0, 0, msg, __VA_ARGS__);
- #define DPrintln(msg, ...) DPrint(msg, __VAR_ARGS__); DPrint("\n");
- #else
- /*Doesn't print when not in debug*/
- #define DPrint //
- #define DPrintln //
- #endif
- FLT_PREOP_CALLBACK_STATUS PreOpCallback(PFLT_CALLBACK_DATA Data, PCFLT_RELATED_OBJECTS FltObjects, _Flt_CompletionContext_Outptr_ PVOID *CompletionContext);
- NTSTATUS UnimplementedCall(PDEVICE_OBJECT DeviceObject, PIRP Irp);
- NTSTATUS CreateCall(PDEVICE_OBJECT DeviceObject, PIRP Irp);
- NTSTATUS CloseCall(PDEVICE_OBJECT DeviceObject, PIRP Irp);
- NTSTATUS DevIOControl(PDEVICE_OBJECT DeviceObject, PIRP Irp);
- CONST FLT_CONTEXT_REGISTRATION Context[] = {
- { FLT_CONTEXT_END }
- };
- CONST FLT_OPERATION_REGISTRATION Callbacks[] = {
- {
- IRP_MJ_READ, 0, PreOpCallback, NULL
- },
- {
- IRP_MJ_WRITE, 0, PreOpCallback, NULL
- },
- {
- IRP_MJ_DIRECTORY_CONTROL, 0, PreOpCallback, NULL
- },
- {
- IRP_MJ_SET_INFORMATION, 0, PreOpCallback, NULL
- },
- {
- IRP_MJ_SET_SECURITY, 0, PreOpCallback, NULL
- },
- {
- IRP_MJ_OPERATION_END
- }
- };
- CONST FLT_REGISTRATION Registration = {
- sizeof(FLT_REGISTRATION),
- FLT_REGISTRATION_VERSION,
- 0,
- NULL,
- Callbacks,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement