diff --git a/dlls/msi/msi.c b/dlls/msi/msi.c index 72f6966..3544050 100644 --- a/dlls/msi/msi.c +++ b/dlls/msi/msi.c @@ -3021,3 +3021,16 @@ UINT WINAPI MsiIsProductElevatedA( LPCSTR szProduct, BOOL *pfElevated ) *pfElevated = TRUE; return ERROR_SUCCESS; } + +/*********************************************************************** + * MsiSetExternalUIRecord [MSI.@] + */ +UINT WINAPI MsiSetExternalUIRecord( INSTALLUI_RECORD_HANDLER puiHandler, + DWORD dwMessageFilter, LPVOID pvContext, + PINSTALLUI_RECORD_HANDLER ppuiPrevHandler) +{ + FIXME("%p %08x %p %p\n", puiHandler, dwMessageFilter ,pvContext, + ppuiPrevHandler); + return ERROR_CALL_NOT_IMPLEMENTED; +} + diff --git a/dlls/msi/msi.spec b/dlls/msi/msi.spec index e3a4a63..4ab0bb1 100644 --- a/dlls/msi/msi.spec +++ b/dlls/msi/msi.spec @@ -274,7 +274,7 @@ 278 stub MsiDetermineApplicablePatchesW 279 stub MsiMessageBoxExA 280 stub MsiMessageBoxExW -281 stub MsiSetExternalUIRecord +281 stdcall MsiSetExternalUIRecord(ptr long ptr ptr) @ stdcall -private DllCanUnloadNow() @ stdcall -private DllGetClassObject(ptr ptr ptr) diff --git a/include/msi.h b/include/msi.h index f3d4445..79f384d 100644 --- a/include/msi.h +++ b/include/msi.h @@ -364,6 +364,8 @@ static const WCHAR INSTALLPROPERTY_DISKPROMPTW[] = {'D','i','s','k','P','r','o', typedef INT (CALLBACK *INSTALLUI_HANDLERA)(LPVOID, UINT, LPCSTR); typedef INT (CALLBACK *INSTALLUI_HANDLERW)(LPVOID, UINT, LPCWSTR); +typedef INT (CALLBACK *INSTALLUI_RECORD_HANDLER)(LPVOID, UINT, MSIHANDLE); +typedef INSTALLUI_RECORD_HANDLER* PINSTALLUI_RECORD_HANDLER; UINT WINAPI MsiAdvertiseProductA(LPCSTR, LPCSTR, LPCSTR, LANGID); UINT WINAPI MsiAdvertiseProductW(LPCWSTR, LPCWSTR, LPCWSTR, LANGID); @@ -601,6 +603,8 @@ UINT WINAPI MsiIsProductElevatedW(LPCWSTR, BOOL *); UINT WINAPI MsiCloseHandle(MSIHANDLE); UINT WINAPI MsiCloseAllHandles(void); INSTALLUILEVEL WINAPI MsiSetInternalUI(INSTALLUILEVEL, HWND*); +UINT WINAPI MsiSetExternalUIRecord(INSTALLUI_RECORD_HANDLER, DWORD, LPVOID, PINSTALLUI_RECORD_HANDLER); + #ifdef __cplusplus }