From 8fc3f61465bb7d649ea5a69073a14fc508334c3a Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Mon, 22 Sep 2014 19:24:12 +0000 Subject: [PATCH] [FLTLIB] * Import from Wine 1.7.27. CORE-8543 #resolve #comment Added in r64231. CORE-8540 svn path=/trunk/; revision=64231 --- reactos/dll/win32/CMakeLists.txt | 1 + reactos/dll/win32/fltlib/CMakeLists.txt | 15 ++++ reactos/dll/win32/fltlib/fltlib.c | 92 +++++++++++++++++++++++++ reactos/dll/win32/fltlib/fltlib.spec | 29 ++++++++ reactos/dll/win32/fltlib/rsrc.rc | 27 ++++++++ reactos/media/doc/README.WINE | 1 + 6 files changed, 165 insertions(+) create mode 100644 reactos/dll/win32/fltlib/CMakeLists.txt create mode 100644 reactos/dll/win32/fltlib/fltlib.c create mode 100644 reactos/dll/win32/fltlib/fltlib.spec create mode 100644 reactos/dll/win32/fltlib/rsrc.rc diff --git a/reactos/dll/win32/CMakeLists.txt b/reactos/dll/win32/CMakeLists.txt index 3355a269c2d..40e0733e52a 100644 --- a/reactos/dll/win32/CMakeLists.txt +++ b/reactos/dll/win32/CMakeLists.txt @@ -39,6 +39,7 @@ add_subdirectory(dhcpcsvc) add_subdirectory(dnsapi) add_subdirectory(dwmapi) add_subdirectory(faultrep) +add_subdirectory(fltlib) add_subdirectory(fmifs) if(ARCH STREQUAL "i386") add_subdirectory(framedyn) diff --git a/reactos/dll/win32/fltlib/CMakeLists.txt b/reactos/dll/win32/fltlib/CMakeLists.txt new file mode 100644 index 00000000000..81aea7b25d7 --- /dev/null +++ b/reactos/dll/win32/fltlib/CMakeLists.txt @@ -0,0 +1,15 @@ + +add_definitions(-D__WINESRC__) +include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine) +spec2def(fltlib.dll fltlib.spec) + +list(APPEND SOURCE + fltlib.c + ${CMAKE_CURRENT_BINARY_DIR}/fltlib_stubs.c + ${CMAKE_CURRENT_BINARY_DIR}/fltlib.def) + +add_library(fltlib SHARED ${SOURCE} rsrc.rc) +set_module_type(fltlib win32dll) +target_link_libraries(fltlib wine) +add_importlibs(fltlib msvcrt kernel32 ntdll) +add_cd_file(TARGET fltlib DESTINATION reactos/system32 FOR all) diff --git a/reactos/dll/win32/fltlib/fltlib.c b/reactos/dll/win32/fltlib/fltlib.c new file mode 100644 index 00000000000..50f46accf53 --- /dev/null +++ b/reactos/dll/win32/fltlib/fltlib.c @@ -0,0 +1,92 @@ +/* + * Copyright 2009 Detlef Riekenberg + * + * 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 + +#include "windef.h" +#include "winbase.h" +#include "wine/debug.h" + +WINE_DEFAULT_DEBUG_CHANNEL(fltlib); + +/***************************************************** + * DllMain + */ +BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) +{ + TRACE("(0x%p, %d, %p)\n", hinstDLL, fdwReason, lpvReserved); + + switch (fdwReason) + { + case DLL_WINE_PREATTACH: + return FALSE; /* use native version */ + + case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(hinstDLL); + break; + } + return TRUE; +} + +/********************************************************************** + * FilterConnectCommunicationPort (FLTLIB.@) + */ +HRESULT WINAPI FilterConnectCommunicationPort(LPCWSTR lpPortName, DWORD dwOptions, + LPVOID lpContext, DWORD dwSizeOfContext, + LPSECURITY_ATTRIBUTES lpSecurityAttributes, + HANDLE *hPort) +{ + FIXME("(%s, %d, %p, %d, %p, %p) stub\n", debugstr_w(lpPortName), dwOptions, + lpContext, dwSizeOfContext, lpSecurityAttributes, hPort); + + *hPort = INVALID_HANDLE_VALUE; + return E_NOTIMPL; +} + +/********************************************************************** + * FilterFindFirst (FLTLIB.@) + */ +HRESULT WINAPI FilterFindFirst(DWORD class, LPVOID buffer, DWORD size, LPDWORD bytes_returned, + LPHANDLE handle) +{ + FIXME("(%u, %p, %u, %p, %p) stub\n", class, buffer, size, bytes_returned, handle); + return HRESULT_FROM_WIN32(ERROR_NO_MORE_ITEMS); +} + +/********************************************************************** + * FilterFindClose (FLTLIB.@) + */ +HRESULT WINAPI FilterFindClose(HANDLE handle) +{ + FIXME("(%p) stub\n", handle); + return S_OK; +} + +/********************************************************************** + * FilterUnload (FLTLIB.@) + */ +HRESULT WINAPI FilterUnload(LPCWSTR lpFilterName) +{ + FIXME("(%s) stub\n", debugstr_w(lpFilterName)); + + if (!lpFilterName) + return HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER); + + return S_OK; +} diff --git a/reactos/dll/win32/fltlib/fltlib.spec b/reactos/dll/win32/fltlib/fltlib.spec new file mode 100644 index 00000000000..91e803be009 --- /dev/null +++ b/reactos/dll/win32/fltlib/fltlib.spec @@ -0,0 +1,29 @@ +@ stub FilterAttach +@ stub FilterAttachAtAltitude +@ stub FilterClose +@ stdcall FilterConnectCommunicationPort(wstr long ptr long ptr ptr) +@ stub FilterCreate +@ stub FilterDetach +@ stdcall FilterFindClose(ptr) +@ stdcall FilterFindFirst(long ptr long ptr ptr) +@ stub FilterFindNext +@ stub FilterGetDosName +@ stub FilterGetInformation +@ stub FilterGetMessage +@ stub FilterInstanceClose +@ stub FilterInstanceCreate +@ stub FilterInstanceFindClose +@ stub FilterInstanceFindFirst +@ stub FilterInstanceFindNext +@ stub FilterInstanceGetInformation +@ stub FilterLoad +@ stub FilterReplyMessage +@ stub FilterSendMessage +@ stdcall FilterUnload(wstr) +@ stub FilterVolumeClose +@ stub FilterVolumeFindClose +@ stub FilterVolumeFindFirst +@ stub FilterVolumeFindNext +@ stub FilterVolumeInstanceFindClose +@ stub FilterVolumeInstanceFindFirst +@ stub FilterVolumeInstanceFindNext diff --git a/reactos/dll/win32/fltlib/rsrc.rc b/reactos/dll/win32/fltlib/rsrc.rc new file mode 100644 index 00000000000..164a1e545ad --- /dev/null +++ b/reactos/dll/win32/fltlib/rsrc.rc @@ -0,0 +1,27 @@ +/* + * Copyright 2014 Stefan Leichter + * + * 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 + */ + +#define WINE_FILEDESCRIPTION_STR "Wine Filter Library" +#define WINE_FILENAME_STR "fltlib.dll" + +#define WINE_FILEVERSION 5,1,2600,5512 +#define WINE_FILEVERSION_STR "5.1.2600.5512" +#define WINE_PRODUCTVERSION 5,1,2600,5512 +#define WINE_PRODUCTVERSION_STR "5.1.2600.5512" + +#include "wine/wine_common_ver.rc" diff --git a/reactos/media/doc/README.WINE b/reactos/media/doc/README.WINE index 8e8d631b3ec..a7f7eaedbd3 100644 --- a/reactos/media/doc/README.WINE +++ b/reactos/media/doc/README.WINE @@ -73,6 +73,7 @@ reactos/dll/win32/dbghelp # Synced to Wine-1.7.17 reactos/dll/win32/dciman32 # Synced to Wine-1.7.17 reactos/dll/win32/dwmapi # Synced to Wine-1.7.17 reactos/dll/win32/faultrep # Synced to Wine-1.7.17 +reactos/dll/win32/fltlib # Synced to Wine-1.7.27 reactos/dll/win32/fusion # Synced to Wine-1.7.17 reactos/dll/win32/gdiplus # Synced to Wine-1.7.17 reactos/dll/win32/hhctrl.ocx # Synced to Wine-1.7.17