Module: wine
Branch: master
Commit: 235f4654859bf6b86171a2d8bf4bacf646747e65
URL: https://source.winehq.org/git/wine.git/?a=commit;h=235f4654859bf6b86171a2d8…
Author: Esme Povirk <esme(a)codeweavers.com>
Date: Fri Jan 28 13:00:52 2022 -0600
diasymreader: Register CLSID_CorSymWriter_SXS.
Signed-off-by: Esme Povirk <esme(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
dlls/diasymreader/Makefile.in | 5 +++++
dlls/diasymreader/diasymreader.rc | 22 ++++++++++++++++++++++
dlls/diasymreader/diasymreader.rgs | 23 +++++++++++++++++++++++
dlls/diasymreader/diasymreader.spec | 6 +++---
dlls/diasymreader/main.c | 35 +++++++++++++++++++++++++++++++++++
5 files changed, 88 insertions(+), 3 deletions(-)
diff --git a/dlls/diasymreader/Makefile.in b/dlls/diasymreader/Makefile.in
index 6cc5541adff..2ea95048edd 100644
--- a/dlls/diasymreader/Makefile.in
+++ b/dlls/diasymreader/Makefile.in
@@ -1,3 +1,8 @@
MODULE = diasymreader.dll
+IMPORTS = uuid
EXTRADLLFLAGS = -Wb,--prefer-native
+
+C_SRCS = main.c
+
+RC_SRCS = diasymreader.rc
diff --git a/dlls/diasymreader/diasymreader.rc b/dlls/diasymreader/diasymreader.rc
new file mode 100644
index 00000000000..0c97aa85779
--- /dev/null
+++ b/dlls/diasymreader/diasymreader.rc
@@ -0,0 +1,22 @@
+/*
+ * Copyright 2022 Esme Povirk
+ *
+ * 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 <windef.h>
+
+/* @makedep: diasymreader.rgs */
+2 WINE_REGISTRY diasymreader.rgs
diff --git a/dlls/diasymreader/diasymreader.rgs b/dlls/diasymreader/diasymreader.rgs
new file mode 100644
index 00000000000..ea5bf07f370
--- /dev/null
+++ b/dlls/diasymreader/diasymreader.rgs
@@ -0,0 +1,23 @@
+HKCR
+{
+ NoRemove CLSID
+ {
+ '{0ae2deb0-f901-478b-bb9f-881ee8066788}'
+ {
+ InProcServer32 = s 'mscoree.dll'
+ {
+ val ThreadingModel = s 'Both'
+ '4.0.30319'
+ {
+ val 'ImplementedInThisVersion' = s ''
+ }
+ ProgID = s 'CorSymWriter_SxS'
+ Server = s 'diasymreader.dll'
+ }
+ }
+ }
+ 'CorSymWriter_SxS' = s 'NDP SymWriter'
+ {
+ CLSID = s '{0ae2deb0-f901-478b-bb9f-881ee8066788}'
+ }
+}
diff --git a/dlls/diasymreader/diasymreader.spec b/dlls/diasymreader/diasymreader.spec
index 9277fb1bcd9..63644e07fd4 100644
--- a/dlls/diasymreader/diasymreader.spec
+++ b/dlls/diasymreader/diasymreader.spec
@@ -1,8 +1,8 @@
@ stub CreateNGenPdbWriter
@ stub DllCanUnloadNow
-@ stub DllGetClassObject
+@ stdcall -private DllGetClassObject(ptr ptr ptr)
@ stub DllGetClassObjectInternal
-@ stub DllRegisterServer
-@ stub DllUnregisterServer
+@ stdcall -private DllRegisterServer()
+@ stdcall -private DllUnregisterServer()
@ stub VSDllRegisterServer
@ stub VSDllUnregisterServer
diff --git a/dlls/diasymreader/main.c b/dlls/diasymreader/main.c
new file mode 100644
index 00000000000..a85d9cd0222
--- /dev/null
+++ b/dlls/diasymreader/main.c
@@ -0,0 +1,35 @@
+/* Copyright (C) 2022 Esme Povirk
+ *
+ * This program 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 program 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 program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#include <stdarg.h>
+
+#include "windef.h"
+#include "winbase.h"
+#include "winnls.h"
+#include "objbase.h"
+#include "ocidl.h"
+#include "rpcproxy.h"
+
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(diasymreader);
+
+HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID iid, LPVOID *ppv)
+{
+ FIXME("(%s,%s,%p)\n", debugstr_guid(rclsid), debugstr_guid(iid), ppv);
+ return CLASS_E_CLASSNOTAVAILABLE;
+}