Sync to trunk (r44371)
[reactos.git] / reactos / dll / win32 / msi / msi.c
index 14f8f13..6359912 100644 (file)
@@ -1902,8 +1902,10 @@ INSTALLUI_HANDLERA WINAPI MsiSetExternalUIA(INSTALLUI_HANDLERA puiHandler,
 {
     INSTALLUI_HANDLERA prev = gUIHandlerA;
 
-    TRACE("%p %x %p\n",puiHandler, dwMessageFilter,pvContext);
+    TRACE("%p %08x %p\n", puiHandler, dwMessageFilter, pvContext);
+
     gUIHandlerA = puiHandler;
+    gUIHandlerW = NULL;
     gUIFilter = dwMessageFilter;
     gUIContext = pvContext;
 
@@ -1915,7 +1917,9 @@ INSTALLUI_HANDLERW WINAPI MsiSetExternalUIW(INSTALLUI_HANDLERW puiHandler,
 {
     INSTALLUI_HANDLERW prev = gUIHandlerW;
 
-    TRACE("%p %x %p\n",puiHandler,dwMessageFilter,pvContext);
+    TRACE("%p %08x %p\n", puiHandler, dwMessageFilter, pvContext);
+
+    gUIHandlerA = NULL;
     gUIHandlerW = puiHandler;
     gUIFilter = dwMessageFilter;
     gUIContext = pvContext;
@@ -3591,13 +3595,20 @@ UINT WINAPI MsiIsProductElevatedA( LPCSTR szProduct, BOOL *pfElevated )
 /***********************************************************************
  * MsiSetExternalUIRecord     [MSI.@]
  */
-UINT WINAPI MsiSetExternalUIRecord( INSTALLUI_HANDLER_RECORD puiHandler,
-                                    DWORD dwMessageFilter, LPVOID pvContext,
-                                    PINSTALLUI_HANDLER_RECORD ppuiPrevHandler)
+UINT WINAPI MsiSetExternalUIRecord( INSTALLUI_HANDLER_RECORD handler,
+                                    DWORD filter, LPVOID context,
+                                    PINSTALLUI_HANDLER_RECORD prev )
 {
-    FIXME("%p %08x %p %p\n", puiHandler, dwMessageFilter ,pvContext,
-                             ppuiPrevHandler);
-    return ERROR_CALL_NOT_IMPLEMENTED;
+    TRACE("%p %08x %p %p\n", handler, filter, context, prev);
+
+    if (prev)
+        *prev = gUIHandlerRecord;
+
+    gUIHandlerRecord = handler;
+    gUIFilter        = filter;
+    gUIContext       = context;
+
+    return ERROR_SUCCESS;
 }
 
 /***********************************************************************