From a7423ee45b8b6444b3db34d2f92817fe150ba445 Mon Sep 17 00:00:00 2001 From: Pierre Schweitzer Date: Sun, 28 Oct 2018 10:31:53 +0100 Subject: [PATCH] [FLTMGR] Implement FltCreateFile() --- drivers/filters/fltmgr/Object.c | 36 ++++++++++++++++++++++++++++++ drivers/filters/fltmgr/fltmgr.spec | 1 + 2 files changed, 37 insertions(+) diff --git a/drivers/filters/fltmgr/Object.c b/drivers/filters/fltmgr/Object.c index 413b85fce3b..8173f6376a0 100644 --- a/drivers/filters/fltmgr/Object.c +++ b/drivers/filters/fltmgr/Object.c @@ -168,6 +168,42 @@ FltCreateFileEx(_In_ PFLT_FILTER Filter, return STATUS_NOT_IMPLEMENTED; } +_Must_inspect_result_ +_IRQL_requires_max_(PASSIVE_LEVEL) +NTSTATUS +FLTAPI +FltCreateFile(_In_ PFLT_FILTER Filter, + _In_opt_ PFLT_INSTANCE Instance, + _Out_ PHANDLE FileHandle, + _In_ ACCESS_MASK DesiredAccess, + _In_ POBJECT_ATTRIBUTES ObjectAttributes, + _Out_ PIO_STATUS_BLOCK IoStatusBlock, + _In_opt_ PLARGE_INTEGER AllocationSize, + _In_ ULONG FileAttributes, + _In_ ULONG ShareAccess, + _In_ ULONG CreateDisposition, + _In_ ULONG CreateOptions, + _In_reads_bytes_opt_(EaLength)PVOID EaBuffer, + _In_ ULONG EaLength, + _In_ ULONG Flags) +{ + return FltCreateFileEx(Filter, + Instance, + FileHandle, + NULL, + DesiredAccess, + ObjectAttributes, + IoStatusBlock, + AllocationSize, + FileAttributes, + ShareAccess, + CreateDisposition, + CreateOptions, + EaBuffer, + EaLength, + Flags); +} + /* INTERNAL FUNCTIONS ******************************************************/ diff --git a/drivers/filters/fltmgr/fltmgr.spec b/drivers/filters/fltmgr/fltmgr.spec index 51ad071a44c..3aae9326a0a 100644 --- a/drivers/filters/fltmgr/fltmgr.spec +++ b/drivers/filters/fltmgr/fltmgr.spec @@ -15,4 +15,5 @@ @ stdcall FltCloseClientPort(ptr ptr) @ stdcall FltClose(ptr) @ stdcall FltCreateFileEx(ptr ptr ptr ptr long ptr ptr ptr long long long long ptr long long) + @ stdcall FltCreateFile(ptr ptr ptr long ptr ptr ptr long long long long ptr long long) -- 2.17.1