David Hedberg : explorerframe: Add dll stub.

Alexandre Julliard julliard at winehq.org
Mon Aug 2 11:03:55 CDT 2010


Module: wine
Branch: master
Commit: e2cf9ad33e547c6b8c516cc68b18bc82e303de34
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=e2cf9ad33e547c6b8c516cc68b18bc82e303de34

Author: David Hedberg <david.hedberg at gmail.com>
Date:   Sat Jul 31 20:02:45 2010 +0200

explorerframe: Add dll stub.

---

 configure                               |    1 +
 configure.ac                            |    1 +
 dlls/explorerframe/Makefile.in          |   14 +++++++
 dlls/explorerframe/explorerframe.spec   |    7 +++
 dlls/explorerframe/explorerframe_main.c |   66 +++++++++++++++++++++++++++++++
 dlls/explorerframe/explorerframe_main.h |   30 ++++++++++++++
 dlls/explorerframe/version.rc           |   29 +++++++++++++
 7 files changed, 148 insertions(+), 0 deletions(-)

diff --git a/configure b/configure
index a5b8dd0..6dd4a36 100755
--- a/configure
+++ b/configure
@@ -14503,6 +14503,7 @@ wine_fn_config_lib dxerr9
 wine_fn_config_dll dxgi enable_dxgi dxgi
 wine_fn_config_test dlls/dxgi/tests dxgi_test
 wine_fn_config_lib dxguid
+wine_fn_config_dll explorerframe enable_explorerframe
 wine_fn_config_dll faultrep enable_faultrep
 wine_fn_config_dll fltlib enable_fltlib
 wine_fn_config_dll fusion enable_fusion
diff --git a/configure.ac b/configure.ac
index bacba41..aac7a82 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2359,6 +2359,7 @@ WINE_CONFIG_LIB(dxerr9)
 WINE_CONFIG_DLL(dxgi,,[dxgi])
 WINE_CONFIG_TEST(dlls/dxgi/tests)
 WINE_CONFIG_LIB(dxguid)
+WINE_CONFIG_DLL(explorerframe)
 WINE_CONFIG_DLL(faultrep)
 WINE_CONFIG_DLL(fltlib)
 WINE_CONFIG_DLL(fusion)
diff --git a/dlls/explorerframe/Makefile.in b/dlls/explorerframe/Makefile.in
new file mode 100644
index 0000000..3ef7e5b
--- /dev/null
+++ b/dlls/explorerframe/Makefile.in
@@ -0,0 +1,14 @@
+EXTRADEFS = -DCOM_NO_WINDOWS_H
+TOPSRCDIR = @top_srcdir@
+TOPOBJDIR = ../..
+SRCDIR    = @srcdir@
+VPATH     = @srcdir@
+MODULE    = explorerframe.dll
+
+C_SRCS = \
+	explorerframe_main.c
+
+RC_SRCS = \
+	version.rc
+
+ at MAKE_DLL_RULES@
diff --git a/dlls/explorerframe/explorerframe.spec b/dlls/explorerframe/explorerframe.spec
new file mode 100644
index 0000000..dbd9c41
--- /dev/null
+++ b/dlls/explorerframe/explorerframe.spec
@@ -0,0 +1,7 @@
+# 110 stub EXPLORERFRAME_110
+# 111 stub EXPLORERFRAME_111
+# 134 stub EXPLORERFRAME_134
+
+@ stdcall -private DllCanUnloadNow()
+@ stub DllGetClassObject
+@ stub DllGetVersion
diff --git a/dlls/explorerframe/explorerframe_main.c b/dlls/explorerframe/explorerframe_main.c
new file mode 100644
index 0000000..4fa5cc6
--- /dev/null
+++ b/dlls/explorerframe/explorerframe_main.c
@@ -0,0 +1,66 @@
+/*
+ * ExplorerFrame main functions
+ *
+ * Copyright 2010 David Hedberg
+ *
+ * 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 COBJMACROS
+#define NONAMELESSUNION
+#define NONAMELESSSTRUCT
+
+#include "windef.h"
+#include "winbase.h"
+#include "winreg.h"
+#include "shlwapi.h"
+
+#include "wine/debug.h"
+
+#include "explorerframe_main.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(explorerframe);
+
+HINSTANCE explorerframe_hinstance;
+LONG EFRAME_refCount = 0;
+
+/*************************************************************************
+ *              DllMain (ExplorerFrame.@)
+ */
+BOOL WINAPI DllMain(HINSTANCE hinst, DWORD fdwReason, LPVOID fImpLoad)
+{
+    TRACE("%p, 0x%x, %p\n", hinst, fdwReason, fImpLoad);
+    switch (fdwReason)
+    {
+    case DLL_PROCESS_ATTACH:
+        DisableThreadLibraryCalls(hinst);
+        explorerframe_hinstance = hinst;
+        break;
+    case DLL_PROCESS_DETACH:
+        break;
+    }
+    return TRUE;
+}
+
+/*************************************************************************
+ *              DllCanUnloadNow (ExplorerFrame.@)
+ */
+HRESULT WINAPI DllCanUnloadNow(void)
+{
+    TRACE("refCount is %d\n", EFRAME_refCount);
+    return EFRAME_refCount ? S_FALSE : S_OK;
+}
diff --git a/dlls/explorerframe/explorerframe_main.h b/dlls/explorerframe/explorerframe_main.h
new file mode 100644
index 0000000..45be664
--- /dev/null
+++ b/dlls/explorerframe/explorerframe_main.h
@@ -0,0 +1,30 @@
+/*
+ * ExplorerFrame main include
+ *
+ * Copyright 2010 David Hedberg
+ *
+ * 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
+ */
+
+#ifndef __WINE_EXPLORERFRAME_H
+#define __WINE_EXPLORERFRAME_H
+
+extern HINSTANCE explorerframe_hinstance;
+
+extern LONG EFRAME_refCount;
+static inline void EFRAME_LockModule(void) { InterlockedIncrement( &EFRAME_refCount ); }
+static inline void EFRAME_UnlockModule(void) { InterlockedDecrement( &EFRAME_refCount ); }
+
+#endif /* __WINE_EXPLORERFRAME_H */
diff --git a/dlls/explorerframe/version.rc b/dlls/explorerframe/version.rc
new file mode 100644
index 0000000..257b1fc
--- /dev/null
+++ b/dlls/explorerframe/version.rc
@@ -0,0 +1,29 @@
+/*
+ * ExplorerFrame Version Resource
+ *
+ * Copyright 2010 David Hedberg
+ *
+ * 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_OLESELFREGISTER
+#define WINE_FILEDESCRIPTION_STR "Wine ExplorerFrame"
+#define WINE_FILENAME_STR "explorerframe.dll"
+#define WINE_FILEVERSION 6,1,7600,16385
+#define WINE_FILEVERSION_STR "6.1.7600.16385"
+#define WINE_PRODUCTVERSION 6,1,7600,16385
+#define WINE_PRODUCTVERSION_STR "6.1.7600.16385"
+
+#include "wine/wine_common_ver.rc"




More information about the wine-cvs mailing list