Module: wine Branch: refs/heads/master Commit: ee3194bee2d0684c3f29bd6e2a0bf333331cf0c1 URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=ee3194bee2d0684c3f29bd6e...
Author: James Hawkins truiken@gmail.com Date: Thu Jan 12 13:31:12 2006 +0100
advpack: Add stubs for the remaining registry functions.
---
dlls/advpack/advpack.spec | 6 +-- dlls/advpack/reg.c | 97 +++++++++++++++++++++++++++++++++++++++++++++ include/advpub.h | 19 +++++++++ 3 files changed, 119 insertions(+), 3 deletions(-)
diff --git a/dlls/advpack/advpack.spec b/dlls/advpack/advpack.spec index 0d238ba..f1e200f 100644 --- a/dlls/advpack/advpack.spec +++ b/dlls/advpack/advpack.spec @@ -20,9 +20,9 @@ @ stub OpenINFEngine @ stub RebootCheckOnInstall @ stdcall RegInstall(ptr str ptr) -@ stub RegRestoreAll -@ stub RegSaveRestore -@ stub RegSaveRestoreOnINF +@ stdcall RegRestoreAll(ptr str long) +@ stdcall RegSaveRestore(ptr str long str str str long) +@ stdcall RegSaveRestoreOnINF(ptr str str str long long long) @ stdcall RegisterOCX(ptr ptr str long) @ stdcall RunSetupCommand(long str str str str ptr long ptr) @ stub SetPerUserSecValues diff --git a/dlls/advpack/reg.c b/dlls/advpack/reg.c index 95922a3..84b696d 100644 --- a/dlls/advpack/reg.c +++ b/dlls/advpack/reg.c @@ -100,6 +100,17 @@ error: /*********************************************************************** * RegInstall (advpack.@) * + * Loads an INF from a string resource, adds entries to the string + * substitution table, and executes the INF. + * + * PARAMS + * hm [I] Module that contains the REGINST resouce. + * pszSection [I] The INF section to execute. + * pstTable [I] Table of string substitutions. + * + * RETURNS + * Success: S_OK. + * Failure: E_FAIL. */ HRESULT WINAPI RegInstall(HMODULE hm, LPCSTR pszSection, LPCSTRTABLE pstTable) { @@ -176,3 +187,89 @@ HRESULT WINAPI RegInstall(HMODULE hm, LP
return S_OK; } + +/*********************************************************************** + * RegRestoreAll (advpack.@) + * + * Restores all saved registry entries. + * + * PARAMS + * hWnd [I] Handle to the window used for the display. + * pszTitleString [I] Title of the window. + * hkBackupKey [I] Handle to the backup key. + * + * RETURNS + * Success: S_OK. + * Failure: E_FAIL. + * + * BUGS + * Unimplemented. + */ +HRESULT WINAPI RegRestoreAll(HWND hWnd, PSTR pszTitleString, HKEY hkBackupKey) +{ + FIXME("(%p, %p, %p) stub\n", hWnd, pszTitleString, hkBackupKey); + + return E_FAIL; +} + +/*********************************************************************** + * RegSaveRestore (advpack.@) + * + * Saves or restores the specified registry value. + * + * PARAMS + * hWnd [I] Handle to the window used for the display. + * pszTitleString [I] Title of the window. + * hkBackupKey [I] Key used to store the backup data. + * pcszRootKey [I] Root key of the registry value + * pcszSubKey [I] Sub key of the registry value. + * pcszValueName [I] Value to save or restore. + * dwFlags [I] See advpub.h. + * + * RETURNS + * Success: S_OK. + * Failure: E_FAIL. + * + * BUGS + * Unimplemented. + */ +HRESULT WINAPI RegSaveRestore(HWND hWnd, PCSTR pszTitleString, HKEY hkBackupKey, + PCSTR pcszRootKey, PCSTR pcszSubKey, + PCSTR pcszValueName, DWORD dwFlags) +{ + FIXME("(%p, %p, %p, %p, %p, %p, %ld) stub\n", hWnd, pszTitleString, + hkBackupKey, pcszRootKey, pcszSubKey, pcszValueName, dwFlags); + + return E_FAIL; +} + +/*********************************************************************** + * RegSaveRestoreOnINF (advpack.@) + * + * Saves or restores the specified INF Reg section. + * + * PARAMS + * hWnd [I] Handle to the window used for the display. + * pszTitle [I] Title of the window. + * pszINF [I] Filename of the INF. + * pszSection [I] Section to save or restore. + * hHKLMBackKey [I] Opened key in HKLM to store data. + * hHKCUBackKey [I] Opened key in HKCU to store data. + * dwFlags [I] See advpub.h + * + * RETURNS + * Success: S_OK. + * Failure: E_FAIL. + * + * BUGS + * Unimplemented. + */ +HRESULT WINAPI RegSaveRestoreOnINF(HWND hWnd, PCSTR pszTitle, PCSTR pszINF, + PCSTR pszSection, HKEY hHKLMBackKey, + HKEY hHKCUBackKey, DWORD dwFlags) +{ + FIXME("(%p, %p, %p, %p, %p, %p, %ld) stub\n", hWnd, pszTitle, pszINF, + pszSection, hHKLMBackKey, hHKCUBackKey, dwFlags); + + return E_FAIL; +} diff --git a/include/advpub.h b/include/advpub.h index 2d0139f..04c60fd 100644 --- a/include/advpub.h +++ b/include/advpub.h @@ -72,6 +72,20 @@ typedef CSTRTABLE *LPCSTRTABLE; #define ADN_DONT_DEL_DIR 0x00000004 #define ADN_DEL_UNC_PATHS 0x00000008
+/* Flags for RegRestoreAll, RegSaveRestore, RegSaveRestoreOnINF */ +#define IE4_RESTORE 0x00000001 +#define IE4_BACKNEW 0x00000002 +#define IE4_NODELETENEW 0x00000004 +#define IE4_NOMESSAGES 0x00000008 +#define IE4_NOPROGRESS 0x00000010 +#define IE4_NOENUMKEY 0x00000020 +#define IE4_NO_CRC_MAPPING 0x00000040 +#define IE4_REGSECTION 0x00000080 +#define IE4_FRDOALL 0x00000100 +#define IE4_UPDREFCNT 0x00000200 +#define IE4_USEREFCNT 0x00000400 +#define IE4_EXTRAINCREFCNT 0x00000800 + HRESULT WINAPI AdvInstallFile(HWND hwnd, LPCSTR lpszSourceDir, LPCSTR lpszSourceFile, LPCSTR lpszDestDir, LPCSTR lpszDestFile, DWORD dwFlags, DWORD dwReserved); @@ -87,6 +101,11 @@ HRESULT WINAPI LaunchINFSectionEx(HWND,H DWORD WINAPI NeedRebootInit(VOID); BOOL WINAPI NeedReboot(DWORD dwRebootCheck); HRESULT WINAPI RegInstall(HMODULE hm, LPCSTR pszSection, LPCSTRTABLE pstTable); +HRESULT WINAPI RegRestoreAll(HWND hWnd, PSTR pszTitleString, HKEY hkBackupKey); +HRESULT WINAPI RegSaveRestore(HWND hWnd, PCSTR pszTitleString, HKEY hkBackupKey, + PCSTR pcszRootKey, PCSTR pcszSubKey, PCSTR pcszValueName, DWORD dwFlags); +HRESULT WINAPI RegSaveRestoreOnINF(HWND hWnd, PCSTR pszTitle, PCSTR pszINF, + PCSTR pszSection, HKEY hHKLMBackKey, HKEY hHKCUBackKey, DWORD dwFlags); HRESULT WINAPI RunSetupCommand(HWND hWnd, LPCSTR szCmdName, LPCSTR szInfSection, LPCSTR szDir, LPCSTR lpszTitle, HANDLE *phEXE, DWORD dwFlags, LPVOID pvReserved);