Module: wine
Branch: master
Commit: 255bae60464554d3611b163813a57639843c92ca
URL: https://source.winehq.org/git/wine.git/?a=commit;h=255bae60464554d3611b1638…
Author: Vijay Kiran Kamuju <infyquest(a)gmail.com>
Date: Sat Jun 13 22:44:23 2020 +0200
xactengine3_7: Add new dll.
Based on original patch from Ethan Lee
Signed-off-by: Vijay Kiran Kamuju <infyquest(a)gmail.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
configure | 2 ++
configure.ac | 1 +
dlls/xactengine3_7/Makefile.in | 6 ++++
dlls/xactengine3_7/xact_classes.idl | 28 +++++++++++++++
dlls/xactengine3_7/xact_dll.c | 66 +++++++++++++++++++++++++++++++++++
dlls/xactengine3_7/xactengine3_7.spec | 4 +++
6 files changed, 107 insertions(+)
diff --git a/configure b/configure
index f4e188f38e..166c260a6e 100755
--- a/configure
+++ b/configure
@@ -1704,6 +1704,7 @@ enable_x3daudio1_4
enable_x3daudio1_5
enable_x3daudio1_6
enable_x3daudio1_7
+enable_xactengine3_7
enable_xapofx1_1
enable_xapofx1_2
enable_xapofx1_3
@@ -21329,6 +21330,7 @@ wine_fn_config_makefile dlls/x3daudio1_4 enable_x3daudio1_4
wine_fn_config_makefile dlls/x3daudio1_5 enable_x3daudio1_5
wine_fn_config_makefile dlls/x3daudio1_6 enable_x3daudio1_6
wine_fn_config_makefile dlls/x3daudio1_7 enable_x3daudio1_7
+wine_fn_config_makefile dlls/xactengine3_7 enable_xactengine3_7
wine_fn_config_makefile dlls/xapofx1_1 enable_xapofx1_1
wine_fn_config_makefile dlls/xapofx1_2 enable_xapofx1_2
wine_fn_config_makefile dlls/xapofx1_3 enable_xapofx1_3
diff --git a/configure.ac b/configure.ac
index c0a44f3712..6f5aa8da20 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3895,6 +3895,7 @@ WINE_CONFIG_MAKEFILE(dlls/x3daudio1_4)
WINE_CONFIG_MAKEFILE(dlls/x3daudio1_5)
WINE_CONFIG_MAKEFILE(dlls/x3daudio1_6)
WINE_CONFIG_MAKEFILE(dlls/x3daudio1_7)
+WINE_CONFIG_MAKEFILE(dlls/xactengine3_7)
WINE_CONFIG_MAKEFILE(dlls/xapofx1_1)
WINE_CONFIG_MAKEFILE(dlls/xapofx1_2)
WINE_CONFIG_MAKEFILE(dlls/xapofx1_3)
diff --git a/dlls/xactengine3_7/Makefile.in b/dlls/xactengine3_7/Makefile.in
new file mode 100644
index 0000000000..f92aad6680
--- /dev/null
+++ b/dlls/xactengine3_7/Makefile.in
@@ -0,0 +1,6 @@
+MODULE = xactengine3_7.dll
+
+C_SRCS = \
+ xact_dll.c
+
+IDL_SRCS = xact_classes.idl
diff --git a/dlls/xactengine3_7/xact_classes.idl b/dlls/xactengine3_7/xact_classes.idl
new file mode 100644
index 0000000000..24c792e2f0
--- /dev/null
+++ b/dlls/xactengine3_7/xact_classes.idl
@@ -0,0 +1,28 @@
+/*
+ * COM Classes for xactengine
+ *
+ * Copyright 2018 Ethan Lee for CodeWeavers
+ *
+ * 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
+ */
+
+#pragma makedep register
+
+[
+ helpstring("XACT3 Class"),
+ threading(both),
+ uuid(bcc782bc-6492-4c22-8c35-f5d72fe73c6e)
+]
+coclass XACTEngine37 { interface IXACT37Engine; }
diff --git a/dlls/xactengine3_7/xact_dll.c b/dlls/xactengine3_7/xact_dll.c
new file mode 100644
index 0000000000..ffabc3829f
--- /dev/null
+++ b/dlls/xactengine3_7/xact_dll.c
@@ -0,0 +1,66 @@
+/*
+ * Copyright (c) 2018 Ethan Lee for CodeWeavers
+ *
+ * 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 "config.h"
+
+#include <stdarg.h>
+
+#include "xact3.h"
+#include "rpcproxy.h"
+#include "xact_classes.h"
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(xact3);
+
+static HINSTANCE instance;
+
+BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD reason, void *pReserved)
+{
+ TRACE("(%p, %d, %p)\n", hinstDLL, reason, pReserved);
+
+ switch (reason)
+ {
+ case DLL_PROCESS_ATTACH:
+ instance = hinstDLL;
+ DisableThreadLibraryCalls( hinstDLL );
+ break;
+ }
+ return TRUE;
+}
+
+HRESULT WINAPI DllCanUnloadNow(void)
+{
+ return S_FALSE;
+}
+
+HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, void **ppv)
+{
+ FIXME("(%s, %s, %p)\n", debugstr_guid(rclsid), debugstr_guid(riid), ppv);
+
+ return CLASS_E_CLASSNOTAVAILABLE;
+}
+
+HRESULT WINAPI DllRegisterServer(void)
+{
+ return __wine_register_resources(instance);
+}
+
+HRESULT WINAPI DllUnregisterServer(void)
+{
+ return __wine_unregister_resources(instance);
+}
diff --git a/dlls/xactengine3_7/xactengine3_7.spec b/dlls/xactengine3_7/xactengine3_7.spec
new file mode 100644
index 0000000000..b16365d0c9
--- /dev/null
+++ b/dlls/xactengine3_7/xactengine3_7.spec
@@ -0,0 +1,4 @@
+@ stdcall -private DllCanUnloadNow()
+@ stdcall -private DllGetClassObject(ptr ptr ptr)
+@ stdcall -private DllRegisterServer()
+@ stdcall -private DllUnregisterServer()
Module: wine
Branch: master
Commit: f0a30d892968d7520ac19b93de36af7cf5ce82a1
URL: https://source.winehq.org/git/wine.git/?a=commit;h=f0a30d892968d7520ac19b93…
Author: Nikolay Sivov <nsivov(a)codeweavers.com>
Date: Mon Aug 3 12:08:39 2020 +0300
combase: Move HPALETTE marshalling stubs.
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
Signed-off-by: Huw Davies <huw(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
dlls/combase/combase.spec | 4 ++
dlls/combase/usrmarshal.c | 99 +++++++++++++++++++++++++++++++++++++++++++++
dlls/ole32/ole32.spec | 8 ++--
dlls/ole32/usrmarshal.c | 100 ----------------------------------------------
4 files changed, 107 insertions(+), 104 deletions(-)
diff --git a/dlls/combase/combase.spec b/dlls/combase/combase.spec
index a612d250d1..9d0bad29f0 100644
--- a/dlls/combase/combase.spec
+++ b/dlls/combase/combase.spec
@@ -205,6 +205,10 @@
@ stdcall HMENU_UserMarshal(ptr ptr ptr)
@ stdcall HMENU_UserSize(ptr long ptr)
@ stdcall HMENU_UserUnmarshal(ptr ptr ptr)
+@ stdcall HPALETTE_UserFree(ptr ptr)
+@ stdcall HPALETTE_UserMarshal(ptr ptr ptr)
+@ stdcall HPALETTE_UserSize(ptr long ptr)
+@ stdcall HPALETTE_UserUnmarshal(ptr ptr ptr)
@ stub HSTRING_UserFree
@ stub -arch=win64 HSTRING_UserFree64
@ stub HSTRING_UserMarshal
diff --git a/dlls/combase/usrmarshal.c b/dlls/combase/usrmarshal.c
index 5b3062f0c2..c88e8c57cd 100644
--- a/dlls/combase/usrmarshal.c
+++ b/dlls/combase/usrmarshal.c
@@ -541,6 +541,105 @@ void __RPC_USER HBITMAP_UserFree(ULONG *flags, HBITMAP *bmp)
DeleteObject(*bmp);
}
+/******************************************************************************
+ * HPALETTE_UserSize (combase.@)
+ *
+ * Calculates the buffer size required to marshal a palette.
+ *
+ * PARAMS
+ * pFlags [I] Flags. See notes.
+ * StartingSize [I] Starting size of the buffer. This value is added on to
+ * the buffer size required for the clip format.
+ * phPal [I] Palette to size.
+ *
+ * RETURNS
+ * The buffer size required to marshal a palette plus the starting size.
+ *
+ * NOTES
+ * Even though the function is documented to take a pointer to a ULONG in
+ * pFlags, it actually takes a pointer to a USER_MARSHAL_CB structure, of which
+ * the first parameter is a ULONG.
+ * This function is only intended to be called by the RPC runtime.
+ */
+ULONG __RPC_USER HPALETTE_UserSize(ULONG *pFlags, ULONG StartingSize, HPALETTE *phPal)
+{
+ FIXME(":stub\n");
+ return StartingSize;
+}
+
+/******************************************************************************
+ * HPALETTE_UserMarshal (combase.@)
+ *
+ * Marshals a palette into a buffer.
+ *
+ * PARAMS
+ * pFlags [I] Flags. See notes.
+ * pBuffer [I] Buffer to marshal the clip format into.
+ * phPal [I] Palette to marshal.
+ *
+ * RETURNS
+ * The end of the marshaled data in the buffer.
+ *
+ * NOTES
+ * Even though the function is documented to take a pointer to a ULONG in
+ * pFlags, it actually takes a pointer to a USER_MARSHAL_CB structure, of which
+ * the first parameter is a ULONG.
+ * This function is only intended to be called by the RPC runtime.
+ */
+unsigned char * __RPC_USER HPALETTE_UserMarshal(ULONG *pFlags, unsigned char *pBuffer, HPALETTE *phPal)
+{
+ FIXME(":stub\n");
+ return pBuffer;
+}
+
+/******************************************************************************
+ * HPALETTE_UserUnmarshal (combase.@)
+ *
+ * Unmarshals a palette from a buffer.
+ *
+ * PARAMS
+ * pFlags [I] Flags. See notes.
+ * pBuffer [I] Buffer to marshal the clip format from.
+ * phPal [O] Address that receive the unmarshaled palette.
+ *
+ * RETURNS
+ * The end of the marshaled data in the buffer.
+ *
+ * NOTES
+ * Even though the function is documented to take a pointer to an ULONG in
+ * pFlags, it actually takes a pointer to a USER_MARSHAL_CB structure, of which
+ * the first parameter is an ULONG.
+ * This function is only intended to be called by the RPC runtime.
+ */
+unsigned char * __RPC_USER HPALETTE_UserUnmarshal(ULONG *pFlags, unsigned char *pBuffer, HPALETTE *phPal)
+{
+ FIXME(":stub\n");
+ return pBuffer;
+}
+
+/******************************************************************************
+ * HPALETTE_UserFree (combase.@)
+ *
+ * Frees an unmarshaled palette.
+ *
+ * PARAMS
+ * pFlags [I] Flags. See notes.
+ * phPal [I] Palette to free.
+ *
+ * RETURNS
+ * The end of the marshaled data in the buffer.
+ *
+ * NOTES
+ * Even though the function is documented to take a pointer to a ULONG in
+ * pFlags, it actually takes a pointer to a USER_MARSHAL_CB structure, of
+ * which the first parameter is a ULONG.
+ * This function is only intended to be called by the RPC runtime.
+ */
+void __RPC_USER HPALETTE_UserFree(ULONG *pFlags, HPALETTE *phPal)
+{
+ FIXME(":stub\n");
+}
+
/******************************************************************************
* WdtpInterfacePointer_UserSize (combase.@)
*
diff --git a/dlls/ole32/ole32.spec b/dlls/ole32/ole32.spec
index 9f13f12327..97618e0893 100644
--- a/dlls/ole32/ole32.spec
+++ b/dlls/ole32/ole32.spec
@@ -163,10 +163,10 @@
@ stdcall HMETAFILE_UserMarshal(ptr ptr ptr)
@ stdcall HMETAFILE_UserSize(ptr long ptr)
@ stdcall HMETAFILE_UserUnmarshal(ptr ptr ptr)
-@ stdcall HPALETTE_UserFree(ptr ptr)
-@ stdcall HPALETTE_UserMarshal(ptr ptr ptr)
-@ stdcall HPALETTE_UserSize(ptr long ptr)
-@ stdcall HPALETTE_UserUnmarshal(ptr ptr ptr)
+@ stdcall HPALETTE_UserFree(ptr ptr) combase.HPALETTE_UserFree
+@ stdcall HPALETTE_UserMarshal(ptr ptr ptr) combase.HPALETTE_UserMarshal
+@ stdcall HPALETTE_UserSize(ptr long ptr) combase.HPALETTE_UserSize
+@ stdcall HPALETTE_UserUnmarshal(ptr ptr ptr) combase.HPALETTE_UserUnmarshal
@ stdcall HWND_UserFree(ptr ptr) combase.HWND_UserFree
@ stdcall HWND_UserMarshal(ptr ptr ptr) combase.HWND_UserMarshal
@ stdcall HWND_UserSize(ptr long ptr) combase.HWND_UserSize
diff --git a/dlls/ole32/usrmarshal.c b/dlls/ole32/usrmarshal.c
index d12f81f504..694ef60764 100644
--- a/dlls/ole32/usrmarshal.c
+++ b/dlls/ole32/usrmarshal.c
@@ -375,106 +375,6 @@ void __RPC_USER HGLOBAL_UserFree(ULONG *pFlags, HGLOBAL *phGlobal)
GlobalFree(*phGlobal);
}
-/******************************************************************************
- * HPALETTE_UserSize [OLE32.@]
- *
- * Calculates the buffer size required to marshal a palette.
- *
- * PARAMS
- * pFlags [I] Flags. See notes.
- * StartingSize [I] Starting size of the buffer. This value is added on to
- * the buffer size required for the clip format.
- * phPal [I] Palette to size.
- *
- * RETURNS
- * The buffer size required to marshal a palette plus the starting size.
- *
- * NOTES
- * Even though the function is documented to take a pointer to a ULONG in
- * pFlags, it actually takes a pointer to a USER_MARSHAL_CB structure, of which
- * the first parameter is a ULONG.
- * This function is only intended to be called by the RPC runtime.
- */
-ULONG __RPC_USER HPALETTE_UserSize(ULONG *pFlags, ULONG StartingSize, HPALETTE *phPal)
-{
- FIXME(":stub\n");
- return StartingSize;
-}
-
-/******************************************************************************
- * HPALETTE_UserMarshal [OLE32.@]
- *
- * Marshals a palette into a buffer.
- *
- * PARAMS
- * pFlags [I] Flags. See notes.
- * pBuffer [I] Buffer to marshal the clip format into.
- * phPal [I] Palette to marshal.
- *
- * RETURNS
- * The end of the marshaled data in the buffer.
- *
- * NOTES
- * Even though the function is documented to take a pointer to a ULONG in
- * pFlags, it actually takes a pointer to a USER_MARSHAL_CB structure, of which
- * the first parameter is a ULONG.
- * This function is only intended to be called by the RPC runtime.
- */
-unsigned char * __RPC_USER HPALETTE_UserMarshal(ULONG *pFlags, unsigned char *pBuffer, HPALETTE *phPal)
-{
- FIXME(":stub\n");
- return pBuffer;
-}
-
-/******************************************************************************
- * HPALETTE_UserUnmarshal [OLE32.@]
- *
- * Unmarshals a palette from a buffer.
- *
- * PARAMS
- * pFlags [I] Flags. See notes.
- * pBuffer [I] Buffer to marshal the clip format from.
- * phPal [O] Address that receive the unmarshaled palette.
- *
- * RETURNS
- * The end of the marshaled data in the buffer.
- *
- * NOTES
- * Even though the function is documented to take a pointer to an ULONG in
- * pFlags, it actually takes a pointer to a USER_MARSHAL_CB structure, of which
- * the first parameter is an ULONG.
- * This function is only intended to be called by the RPC runtime.
- */
-unsigned char * __RPC_USER HPALETTE_UserUnmarshal(ULONG *pFlags, unsigned char *pBuffer, HPALETTE *phPal)
-{
- FIXME(":stub\n");
- return pBuffer;
-}
-
-/******************************************************************************
- * HPALETTE_UserFree [OLE32.@]
- *
- * Frees an unmarshaled palette.
- *
- * PARAMS
- * pFlags [I] Flags. See notes.
- * phPal [I] Palette to free.
- *
- * RETURNS
- * The end of the marshaled data in the buffer.
- *
- * NOTES
- * Even though the function is documented to take a pointer to a ULONG in
- * pFlags, it actually takes a pointer to a USER_MARSHAL_CB structure, of
- * which the first parameter is a ULONG.
- * This function is only intended to be called by the RPC runtime.
- */
-void __RPC_USER HPALETTE_UserFree(ULONG *pFlags, HPALETTE *phPal)
-{
- FIXME(":stub\n");
-}
-
-
/******************************************************************************
* HMETAFILE_UserSize [OLE32.@]
*