From: Mohamad Al-Jaf Subject: Re: [PATCH v3 5/5] wdscore: Add stubs for WdsSetupLogMessage[AW]. Message-Id: Date: Thu, 27 Jan 2022 06:42:33 -0500 In-Reply-To: <20220127053159.549132-1-mohamadaljaf@gmail.com> References: <20220127053159.549132-1-mohamadaljaf@gmail.com> Just realized that I didn't add the first argument in WdsSetupLogMessage. It's supposed to have 11 arguments, not 10. I'll submit a revision. Sorry about that. On Thu, Jan 27, 2022 at 12:32 AM Mohamad Al-Jaf wrote: > Required by the Windows MediaCreationTool21H2. > > Signed-off-by: Mohamad Al-Jaf > --- > v3: - Rebase patch > - Fix unknown argument names > I changed unknown5 to src after I saw the debug output but got > distracted trying to see if I could figure out the other parameters > and forgot to rename them. > --- > dlls/wdscore/main.c | 28 ++++++++++++++++++++++++++++ > dlls/wdscore/wdscore.spec | 4 ++-- > dlls/wdscore/wdscore_internal.h | 27 +++++++++++++++++++++++++++ > 3 files changed, 57 insertions(+), 2 deletions(-) > > diff --git a/dlls/wdscore/main.c b/dlls/wdscore/main.c > index 3bd5eed8ec5..bda01772d9f 100644 > --- a/dlls/wdscore/main.c > +++ b/dlls/wdscore/main.c > @@ -74,3 +74,31 @@ LPVOID WINAPI ConstructPartialMsgVW( WdsLogLevel level, > LPCWSTR msg, va_list arg > FIXME( "%u %s - stub\n", level, debugstr_w(msg) ); > return NULL; > } > + > + > +/*********************************************************************** > + * WdsSetupLogMessageA (wdscore.@) > + */ > +HRESULT WINAPI WdsSetupLogMessageA( WdsLogSource log, LPCSTR unknown1, > LPCSTR unknown2, > + ULONG unknown3, LPCSTR unknown4, > LPCSTR src, > + void* ip, ULONG unknown5, void* > unknown6, UINT unknown7 ) > +{ > + FIXME( "%u, %s, %s, %u, %s, %s, %p, %u, %p, %u - stub\n", log, > debugstr_a(unknown1), > + debugstr_a(unknown2), unknown3, debugstr_a(unknown4), > debugstr_a(src), > + ip, unknown5, unknown6, unknown7 ); > + return S_OK; > +} > + > + > +/*********************************************************************** > + * WdsSetupLogMessageW (wdscore.@) > + */ > +HRESULT WINAPI WdsSetupLogMessageW( WdsLogSource log, LPCWSTR unknown1, > LPCWSTR unknown2, > + ULONG unknown3, LPCWSTR unknown4, > LPCWSTR src, > + void* ip, ULONG unknown5, void* > unknown6, UINT unknown7 ) > +{ > + FIXME( "%u, %s, %s, %u, %s, %s, %p, %u, %p, %u - stub\n", log, > debugstr_w(unknown1), > + debugstr_w(unknown2), unknown3, debugstr_w(unknown4), > debugstr_w(src), > + ip, unknown5, unknown6, unknown7 ); > + return S_OK; > +} > diff --git a/dlls/wdscore/wdscore.spec b/dlls/wdscore/wdscore.spec > index b14778001a8..18de37d1ed7 100644 > --- a/dlls/wdscore/wdscore.spec > +++ b/dlls/wdscore/wdscore.spec > @@ -150,8 +150,8 @@ > @ stub WdsSetUILanguage > @ stub WdsSetupLogDestroy > @ stub WdsSetupLogInit > -@ stub WdsSetupLogMessageA > -@ stub WdsSetupLogMessageW > +@ stdcall WdsSetupLogMessageA(long str str long str str ptr long ptr long) > +@ stdcall WdsSetupLogMessageW(long wstr wstr long wstr wstr ptr long ptr > long) > @ stub WdsSubscribeEx > @ stub WdsTerminate > @ stub WdsUnlockExecutionGroup > diff --git a/dlls/wdscore/wdscore_internal.h > b/dlls/wdscore/wdscore_internal.h > index b5cbe3c8c25..f029023f8ce 100644 > --- a/dlls/wdscore/wdscore_internal.h > +++ b/dlls/wdscore/wdscore_internal.h > @@ -19,6 +19,33 @@ > #ifndef __WDSCORE_INTERNAL_H > #define __WDSCORE_INTERNAL_H > > +typedef enum _WdsLogSource { > + WdsLogSourceDPX = 0x1000000, > + WdsLogSourceCBS = 0x2000000, > + WdsLogSourceCSI = 0x1800000, > + WdsLogSourceSXS = 0x2800000, > + WdsLogSourceCMI = 0x3000000, > + WdsLogSourceDEPLOY = 0x4000000, > + WdsLogSourceDU = 0x5000000, > + WdsLogSourceIBS = 0x6000000, > + WdsLogSourceIBSLIB = 0x6400000, > + WdsLogSourceDIAG = 0x7000000, > + WdsLogSourceDIAGER = 0x7400000, > + WdsLogSourceMIG = 0x8000000, > + WdsLogSourceHWARE = 0x8400000, > + WdsLogSourceMIGUI = 0x8800000, > + WdsLogSourceUI = 0xA000000, > + WdsLogSourceCONX = 0xA400000, > + WdsLogSourceMOUPG = 0xA800000, > + WdsLogSourceWDS = 0xB000000, > + WdsLogSourceDISM = 0xB800000, > + WdsLogSourcePANTHR = 0x9000000, > + WdsLogSourceWINPE = 0xC000000, > + WdsLogSourceSP = 0xC800000, > + WdsLogSourceLIB = 0xD000000, > + WdsLogSourceTOOL = 0xE000000 > +} WdsLogSource; > + > typedef enum _WdsLogLevel { > WdsLogLevelAssert = 0x0000000, > WdsLogLevelFatalError = 0x1000000, > -- > 2.35.0 > >
Just realized that I didn't add the first argument in WdsSetupLogMessage. It's supposed to have 11 arguments, not 10. I'll submit a revision. Sorry about that.

On Thu, Jan 27, 2022 at 12:32 AM Mohamad Al-Jaf <mohamadaljaf@gmail.com> wrote:
Required by the Windows MediaCreationTool21H2.

Signed-off-by: Mohamad Al-Jaf <mohamadaljaf@gmail.com>
---
v3: - Rebase patch
    - Fix unknown argument names
I changed unknown5 to src after I saw the debug output but got
distracted trying to see if I could figure out the other parameters
and forgot to rename them.
---
 dlls/wdscore/main.c             | 28 ++++++++++++++++++++++++++++
 dlls/wdscore/wdscore.spec       |  4 ++--
 dlls/wdscore/wdscore_internal.h | 27 +++++++++++++++++++++++++++
 3 files changed, 57 insertions(+), 2 deletions(-)

diff --git a/dlls/wdscore/main.c b/dlls/wdscore/main.c
index 3bd5eed8ec5..bda01772d9f 100644
--- a/dlls/wdscore/main.c
+++ b/dlls/wdscore/main.c
@@ -74,3 +74,31 @@ LPVOID WINAPI ConstructPartialMsgVW( WdsLogLevel level, LPCWSTR msg, va_list arg
     FIXME( "%u %s - stub\n", level, debugstr_w(msg) );
     return NULL;
 }
+
+
+/***********************************************************************
+ *           WdsSetupLogMessageA (wdscore.@)
+ */
+HRESULT WINAPI WdsSetupLogMessageA( WdsLogSource log, LPCSTR unknown1, LPCSTR unknown2,
+                                    ULONG unknown3, LPCSTR unknown4, LPCSTR src,
+                                    void* ip, ULONG unknown5, void* unknown6, UINT unknown7 )
+{
+    FIXME( "%u, %s, %s, %u, %s, %s, %p, %u, %p, %u - stub\n", log, debugstr_a(unknown1),
+           debugstr_a(unknown2), unknown3, debugstr_a(unknown4), debugstr_a(src),
+           ip, unknown5, unknown6, unknown7 );
+    return S_OK;
+}
+
+
+/***********************************************************************
+ *           WdsSetupLogMessageW (wdscore.@)
+ */
+HRESULT WINAPI WdsSetupLogMessageW( WdsLogSource log, LPCWSTR unknown1, LPCWSTR unknown2,
+                                    ULONG unknown3, LPCWSTR unknown4, LPCWSTR src,
+                                    void* ip, ULONG unknown5, void* unknown6, UINT unknown7 )
+{
+    FIXME( "%u, %s, %s, %u, %s, %s, %p, %u, %p, %u - stub\n", log, debugstr_w(unknown1),
+           debugstr_w(unknown2), unknown3, debugstr_w(unknown4), debugstr_w(src),
+           ip, unknown5, unknown6, unknown7 );
+    return S_OK;
+}
diff --git a/dlls/wdscore/wdscore.spec b/dlls/wdscore/wdscore.spec
index b14778001a8..18de37d1ed7 100644
--- a/dlls/wdscore/wdscore.spec
+++ b/dlls/wdscore/wdscore.spec
@@ -150,8 +150,8 @@
 @ stub WdsSetUILanguage
 @ stub WdsSetupLogDestroy
 @ stub WdsSetupLogInit
-@ stub WdsSetupLogMessageA
-@ stub WdsSetupLogMessageW
+@ stdcall WdsSetupLogMessageA(long str str long str str ptr long ptr long)
+@ stdcall WdsSetupLogMessageW(long wstr wstr long wstr wstr ptr long ptr long)
 @ stub WdsSubscribeEx
 @ stub WdsTerminate
 @ stub WdsUnlockExecutionGroup
diff --git a/dlls/wdscore/wdscore_internal.h b/dlls/wdscore/wdscore_internal.h
index b5cbe3c8c25..f029023f8ce 100644
--- a/dlls/wdscore/wdscore_internal.h
+++ b/dlls/wdscore/wdscore_internal.h
@@ -19,6 +19,33 @@
 #ifndef __WDSCORE_INTERNAL_H
 #define __WDSCORE_INTERNAL_H

+typedef enum _WdsLogSource {
+    WdsLogSourceDPX    = 0x1000000,
+    WdsLogSourceCBS    = 0x2000000,
+    WdsLogSourceCSI    = 0x1800000,
+    WdsLogSourceSXS    = 0x2800000,
+    WdsLogSourceCMI    = 0x3000000,
+    WdsLogSourceDEPLOY = 0x4000000,
+    WdsLogSourceDU     = 0x5000000,
+    WdsLogSourceIBS    = 0x6000000,
+    WdsLogSourceIBSLIB = 0x6400000,
+    WdsLogSourceDIAG   = 0x7000000,
+    WdsLogSourceDIAGER = 0x7400000,
+    WdsLogSourceMIG    = 0x8000000,
+    WdsLogSourceHWARE  = 0x8400000,
+    WdsLogSourceMIGUI  = 0x8800000,
+    WdsLogSourceUI     = 0xA000000,
+    WdsLogSourceCONX   = 0xA400000,
+    WdsLogSourceMOUPG  = 0xA800000,
+    WdsLogSourceWDS    = 0xB000000,
+    WdsLogSourceDISM   = 0xB800000,
+    WdsLogSourcePANTHR = 0x9000000,
+    WdsLogSourceWINPE  = 0xC000000,
+    WdsLogSourceSP     = 0xC800000,
+    WdsLogSourceLIB    = 0xD000000,
+    WdsLogSourceTOOL   = 0xE000000
+} WdsLogSource;
+
 typedef enum _WdsLogLevel {
     WdsLogLevelAssert     = 0x0000000,
     WdsLogLevelFatalError = 0x1000000,
--
2.35.0