Added patch for stub of fltmgr.sys (filter manager driver).

This commit is contained in:
Sebastian Lackner
2015-03-28 23:54:21 +01:00
parent c9380eed86
commit 7fb4b8cfc8
5 changed files with 348 additions and 55 deletions

View File

@@ -0,0 +1,271 @@
From 9830d124c74e4181b213f99f3878bb3189ffe324 Mon Sep 17 00:00:00 2001
From: Austin English <austinenglish@gmail.com>
Date: Wed, 25 Feb 2015 00:55:44 -0600
Subject: fltmgr.sys: add stub dll (try 3)
---
configure.ac | 1 +
dlls/fltmgr.sys/Makefile.in | 1 +
dlls/fltmgr.sys/fltmgr.sys.spec | 163 ++++++++++++++++++++++++++++++++++++++++
dlls/fltmgr.sys/main.c | 38 ++++++++++
loader/wine.inf.in | 2 +
5 files changed, 205 insertions(+)
create mode 100644 dlls/fltmgr.sys/Makefile.in
create mode 100644 dlls/fltmgr.sys/fltmgr.sys.spec
create mode 100644 dlls/fltmgr.sys/main.c
diff --git a/configure.ac b/configure.ac
index 1fc7873..0022f91 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2949,6 +2949,7 @@ WINE_CONFIG_DLL(ext-ms-win-gdi-devcaps-l1-1-0)
WINE_CONFIG_DLL(faultrep,,[implib])
WINE_CONFIG_TEST(dlls/faultrep/tests)
WINE_CONFIG_DLL(fltlib)
+WINE_CONFIG_DLL(fltmgr.sys)
WINE_CONFIG_DLL(fntcache)
WINE_CONFIG_DLL(fontsub)
WINE_CONFIG_DLL(fusion)
diff --git a/dlls/fltmgr.sys/Makefile.in b/dlls/fltmgr.sys/Makefile.in
new file mode 100644
index 0000000..75bae4d
--- /dev/null
+++ b/dlls/fltmgr.sys/Makefile.in
@@ -0,0 +1 @@
+MODULE = fltmgr.sys
diff --git a/dlls/fltmgr.sys/fltmgr.sys.spec b/dlls/fltmgr.sys/fltmgr.sys.spec
new file mode 100644
index 0000000..5310269
--- /dev/null
+++ b/dlls/fltmgr.sys/fltmgr.sys.spec
@@ -0,0 +1,163 @@
+@ stub FltAcquirePushLockExclusive
+@ stub FltAcquirePushLockShared
+@ stub FltAcquireResourceExclusive
+@ stub FltAcquireResourceShared
+@ stub FltAllocateCallbackData
+@ stub FltAllocateContext
+@ stub FltAllocateDeferredIoWorkItem
+@ stub FltAllocateFileLock
+@ stub FltAllocateGenericWorkItem
+@ stub FltAllocatePoolAlignedWithTag
+@ stub FltAttachVolume
+@ stub FltAttachVolumeAtAltitude
+@ stub FltBuildDefaultSecurityDescriptor
+@ stub FltCancelFileOpen
+@ stub FltCancelIo
+@ stub FltCbdqDisable
+@ stub FltCbdqEnable
+@ stub FltCbdqInitialize
+@ stub FltCbdqInsertIo
+@ stub FltCbdqRemoveIo
+@ stub FltCbdqRemoveNextIo
+@ stub FltCheckAndGrowNameControl
+@ stub FltCheckLockForReadAccess
+@ stub FltCheckLockForWriteAccess
+@ stub FltCheckOplock
+@ stub FltClearCallbackDataDirty
+@ stub FltClearCancelCompletion
+@ stub FltClose
+@ stub FltCloseClientPort
+@ stub FltCloseCommunicationPort
+@ stub FltCompareInstanceAltitudes
+@ stub FltCompletePendedPostOperation
+@ stub FltCompletePendedPreOperation
+@ stub FltCreateCommunicationPort
+@ stub FltCreateFile
+@ stub FltCreateFileEx
+@ stub FltCreateSystemVolumeInformationFolder
+@ stub FltCurrentBatchOplock
+@ stub FltDecodeParameters
+@ stub FltDeleteContext
+@ stub FltDeleteFileContext
+@ stub FltDeleteInstanceContext
+@ stub FltDeletePushLock
+@ stub FltDeleteStreamContext
+@ stub FltDeleteStreamHandleContext
+@ stub FltDeleteVolumeContext
+@ stub FltDetachVolume
+@ stub FltDeviceIoControlFile
+@ stub FltDoCompletionProcessingWhenSafe
+@ stub FltEnumerateFilterInformation
+@ stub FltEnumerateFilters
+@ stub FltEnumerateInstanceInformationByFilter
+@ stub FltEnumerateInstanceInformationByVolume
+@ stub FltEnumerateInstances
+@ stub FltEnumerateVolumeInformation
+@ stub FltEnumerateVolumes
+@ stub FltFlushBuffers
+@ stub FltFreeCallbackData
+@ stub FltFreeDeferredIoWorkItem
+@ stub FltFreeFileLock
+@ stub FltFreeGenericWorkItem
+@ stub FltFreePoolAlignedWithTag
+@ stub FltFreeSecurityDescriptor
+@ stub FltFsControlFile
+@ stub FltGetBottomInstance
+@ stub FltGetContexts
+@ stub FltGetDestinationFileNameInformation
+@ stub FltGetDeviceObject
+@ stub FltGetDiskDeviceObject
+@ stub FltGetFileContext
+@ stub FltGetFileNameInformation
+@ stub FltGetFileNameInformationUnsafe
+@ stub FltGetFilterFromInstance
+@ stub FltGetFilterFromName
+@ stub FltGetFilterInformation
+@ stub FltGetInstanceContext
+@ stub FltGetInstanceInformation
+@ stub FltGetIrpName
+@ stub FltGetLowerInstance
+@ stub FltGetRequestorProcess
+@ stub FltGetRequestorProcessId
+@ stub FltGetRoutineAddress
+@ stub FltGetStreamContext
+@ stub FltGetStreamHandleContext
+@ stub FltGetSwappedBufferMdlAddress
+@ stub FltGetTopInstance
+@ stub FltGetTunneledName
+@ stub FltGetUpperInstance
+@ stub FltGetVolumeContext
+@ stub FltGetVolumeFromDeviceObject
+@ stub FltGetVolumeFromFileObject
+@ stub FltGetVolumeFromInstance
+@ stub FltGetVolumeFromName
+@ stub FltGetVolumeGuidName
+@ stub FltGetVolumeInstanceFromName
+@ stub FltGetVolumeName
+@ stub FltGetVolumeProperties
+@ stub FltInitializeFileLock
+@ stub FltInitializeOplock
+@ stub FltInitializePushLock
+@ stub FltIs32bitProcess
+@ stub FltIsCallbackDataDirty
+@ stub FltIsDirectory
+@ stub FltIsIoCanceled
+@ stub FltIsOperationSynchronous
+@ stub FltIsVolumeWritable
+@ stub FltLoadFilter
+@ stub FltLockUserBuffer
+@ stub FltNotifyFilterChangeDirectory
+@ stub FltObjectDereference
+@ stub FltObjectReference
+@ stub FltOpenVolume
+@ stub FltOplockFsctrl
+@ stub FltOplockIsFastIoPossible
+@ stub FltParseFileName
+@ stub FltParseFileNameInformation
+@ stub FltPerformAsynchronousIo
+@ stub FltPerformSynchronousIo
+@ stub FltProcessFileLock
+@ stub FltPurgeFileNameInformationCache
+@ stub FltQueryEaFile
+@ stub FltQueryInformationFile
+@ stub FltQuerySecurityObject
+@ stub FltQueryVolumeInformation
+@ stub FltQueryVolumeInformationFile
+@ stub FltQueueDeferredIoWorkItem
+@ stub FltQueueGenericWorkItem
+@ stub FltReadFile
+@ stub FltReferenceContext
+@ stub FltReferenceFileNameInformation
+@ stub FltRegisterFilter
+@ stub FltReissueSynchronousIo
+@ stub FltReleaseContext
+@ stub FltReleaseContexts
+@ stub FltReleaseFileNameInformation
+@ stub FltReleasePushLock
+@ stub FltReleaseResource
+@ stub FltRequestOperationStatusCallback
+@ stub FltRetainSwappedBufferMdlAddress
+@ stub FltReuseCallbackData
+@ stub FltSendMessage
+@ stub FltSetCallbackDataDirty
+@ stub FltSetCancelCompletion
+@ stub FltSetEaFile
+@ stub FltSetFileContext
+@ stub FltSetInformationFile
+@ stub FltSetInstanceContext
+@ stub FltSetSecurityObject
+@ stub FltSetStreamContext
+@ stub FltSetStreamHandleContext
+@ stub FltSetVolumeContext
+@ stub FltSetVolumeInformation
+@ stub FltStartFiltering
+@ stub FltSupportsFileContexts
+@ stub FltSupportsStreamContexts
+@ stub FltSupportsStreamHandleContexts
+@ stub FltTagFile
+@ stub FltUninitializeFileLock
+@ stub FltUninitializeOplock
+@ stub FltUnloadFilter
+@ stub FltUnregisterFilter
+@ stub FltUntagFile
+@ stub FltWriteFile
diff --git a/dlls/fltmgr.sys/main.c b/dlls/fltmgr.sys/main.c
new file mode 100644
index 0000000..60d4f4b
--- /dev/null
+++ b/dlls/fltmgr.sys/main.c
@@ -0,0 +1,38 @@
+/*
+ * fltmgr.sys
+ *
+ * Copyright 2015 Austin English
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+#include <stdarg.h>
+
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
+
+#include "ntstatus.h"
+#include "winbase.h"
+#include "winternl.h"
+#include "ddk/wdm.h"
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(fltmgr);
+
+NTSTATUS WINAPI DriverEntry( DRIVER_OBJECT *driver, UNICODE_STRING *path )
+{
+ TRACE( "(%p, %s)\n", driver, debugstr_w(path->Buffer) );
+ return STATUS_SUCCESS;
+}
+
diff --git a/loader/wine.inf.in b/loader/wine.inf.in
index d901251..905f729 100644
--- a/loader/wine.inf.in
+++ b/loader/wine.inf.in
@@ -2495,6 +2495,7 @@ HKLM,%CurrentVersion%\Telephony\Country List\998,"SameAreaRule",,"G"
10,syswow64,stdole2.tlb
11,,iexplore.exe
11,,winetest.exe,-
+12,,fltmgr.sys,-
12,,mountmgr.sys,-
12,,ndis.sys,-
; skip .NET fake dlls in Wine Mono package
@@ -2533,6 +2534,7 @@ HKLM,%CurrentVersion%\Telephony\Country List\998,"SameAreaRule",,"G"
11,,iexplore.exe
11,,notepad.exe
11,,winetest.exe,-
+12,,fltmgr.sys
12,,mountmgr.sys
12,,ndis.sys
; skip .NET fake dlls in Wine Mono package
--
2.3.3

View File

@@ -0,0 +1 @@
Fixes: [23583] Add stub fltmgr.sys (filter manager driver)