From 9b90532c6886249b298810b2d5a5d96d850f6cf2 Mon Sep 17 00:00:00 2001 From: Sami Aario Date: Mon, 18 Apr 2005 09:51:53 +0000 Subject: [PATCH] Added stubs for RunSetupCommand and DelNode. --- dlls/advpack/advpack.c | 75 ++++++++++++++++++++++++++++++++++++--- dlls/advpack/advpack.spec | 4 +-- include/advpub.h | 18 ++++++++++ 3 files changed, 90 insertions(+), 7 deletions(-) diff --git a/dlls/advpack/advpack.c b/dlls/advpack/advpack.c index a899941828c..9b20be7df7e 100644 --- a/dlls/advpack/advpack.c +++ b/dlls/advpack/advpack.c @@ -49,12 +49,52 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) return TRUE; } +/*********************************************************************** + * RunSetupCommand (ADVPACK.@) + * + * Executes an install section in an INF file or a program. + * + * PARAMS + * hWnd [I] Handle to parent window, NULL for quiet mode + * szCmdName [I] Inf or EXE filename to execute + * szInfSection [I] Inf section to install, NULL for DefaultInstall + * szDir [I] Path to extracted files + * szTitle [I] Title of all dialogs + * phEXE [O] Handle of EXE to wait for + * dwFlags [I] Flags; see include/advpub.h + * pvReserved [I] Reserved + * + * RETURNS + * S_OK Everything OK + * S_ASYNCHRONOUS OK, required to wait on phEXE + * ERROR_SUCCESS_REBOOT_REQUIRED Reboot required + * E_INVALIDARG Invalid argument given + * HRESULT_FROM_WIN32(ERROR_OLD_WIN_VERSION) + * Not supported on this Windows version + * E_UNEXPECTED Unexpected error + * HRESULT_FROM_WIN32(GetLastError()) Some other error + * + * BUGS + * Unimplemented + */ +HRESULT WINAPI RunSetupCommand( HWND hWnd, LPCSTR szCmdName, + LPCSTR szInfSection, LPCSTR szDir, + LPCSTR lpszTitle, HANDLE *phEXE, + DWORD dwFlags, LPVOID pvReserved ) +{ + FIXME("(%p, %s, %s, %s, %s, %p, 0x%08lx, %p): stub\n", + hWnd, debugstr_a(szCmdName), debugstr_a(szInfSection), + debugstr_a(szDir), debugstr_a(lpszTitle), + phEXE, dwFlags, pvReserved); + return E_UNEXPECTED; +} + /*********************************************************************** * LaunchINFSection (ADVPACK.@) */ void WINAPI LaunchINFSection( HWND hWnd, HINSTANCE hInst, LPCSTR cmdline, INT show ) { - FIXME("%p %p %s %d\n", hWnd, hInst, debugstr_a(cmdline), show ); + FIXME("(%p %p %s %d): stub\n", hWnd, hInst, debugstr_a(cmdline), show ); } /*********************************************************************** @@ -62,7 +102,7 @@ void WINAPI LaunchINFSection( HWND hWnd, HINSTANCE hInst, LPCSTR cmdline, INT sh */ void WINAPI LaunchINFSectionEx( HWND hWnd, HINSTANCE hInst, LPCSTR cmdline, INT show ) { - FIXME("%p %p %s %d\n", hWnd, hInst, debugstr_a(cmdline), show ); + FIXME("(%p %p %s %d): stub\n", hWnd, hInst, debugstr_a(cmdline), show ); } /* this structure very closely resembles parameters of RunSetupCommand() */ @@ -107,7 +147,7 @@ BOOL WINAPI DoInfInstall(const SETUPCOMMAND_PARAMS *setup) */ DWORD WINAPI NeedRebootInit(VOID) { - FIXME("() stub!\n"); + FIXME("(): stub\n"); return 0; } @@ -116,7 +156,7 @@ DWORD WINAPI NeedRebootInit(VOID) */ BOOL WINAPI NeedReboot(DWORD dwRebootCheck) { - FIXME("(0x%08lx) stub!\n", dwRebootCheck); + FIXME("(0x%08lx): stub\n", dwRebootCheck); return FALSE; } @@ -220,10 +260,35 @@ void WINAPI RegisterOCX( HWND hWnd, HINSTANCE hInst, LPCSTR cmdline, INT show ) FreeLibrary(hm); } +/*********************************************************************** + * DelNode (ADVPACK.@) + * + * Deletes a file or directory + * + * PARAMS + * pszFileOrDirName [I] Name of file or directory to delete + * dwFlags [I] Flags; see include/advpub.h + * + * RETURNS + * Success: S_OK + * Failure: E_FAIL + * + * BUGS + * Unimplemented + */ +HRESULT WINAPI DelNode( LPCSTR pszFileOrDirName, DWORD dwFlags ) +{ + FIXME("(%s, 0x%08lx): stub\n", debugstr_a(pszFileOrDirName), dwFlags); + return E_FAIL; +} + /*********************************************************************** * DelNodeRunDLL32 (ADVPACK.@) + * + * BUGS + * Unimplemented */ void WINAPI DelNodeRunDLL32( HWND hWnd, HINSTANCE hInst, LPCSTR cmdline, INT show ) { - FIXME("(%s) FIXME: stub\n", cmdline); + FIXME("(%s): stub\n", debugstr_a(cmdline)); } diff --git a/dlls/advpack/advpack.spec b/dlls/advpack/advpack.spec index b7e71b3d4ca..37d96bf8d5f 100644 --- a/dlls/advpack/advpack.spec +++ b/dlls/advpack/advpack.spec @@ -1,7 +1,7 @@ @ stub AddDelBackupEntry @ stub AdvInstallFile @ stub CloseINFEngine -@ stub DelNode +@ stdcall DelNode(str long) @ stdcall DelNodeRunDLL32(ptr ptr str long) @ stdcall DllMain(long long ptr) @ stdcall DoInfInstall(ptr) @@ -24,7 +24,7 @@ @ stub RegSaveRestore @ stub RegSaveRestoreOnINF @ stdcall RegisterOCX(ptr ptr str long) -@ stub RunSetupCommand +@ stdcall RunSetupCommand(long str str str str ptr long ptr) @ stub SetPerUserSecValues @ stub TranslateInfString @ stub TranslateInfStringEx diff --git a/include/advpub.h b/include/advpub.h index 79b24f64f37..20c11523553 100644 --- a/include/advpub.h +++ b/include/advpub.h @@ -38,6 +38,24 @@ typedef struct _StrTable { typedef const STRTABLE CSTRTABLE; typedef CSTRTABLE *LPCSTRTABLE; +/* Flags for RunSetupCommand */ +#define RSC_FLAG_INF 0x00000001 +#define RSC_FLAG_SKIPDISKSPACECHECK 0x00000002 +#define RSC_FLAG_QUIET 0x00000004 +#define RSC_FLAG_NGCONV 0x00000008 +#define RSC_FLAG_UPDHLPDLLS 0x00000010 +#define RSC_FLAG_DELAYREGISTEROCX 0x00000200 +#define RSC_FLAG_SETUPAPI 0x00000400 + +/* Flags for DelNode */ +#define ADN_DEL_IF_EMPTY 0x00000001 +#define ADN_DONT_DEL_SUBDIRS 0x00000002 +#define ADN_DONT_DEL_DIR 0x00000004 + +HRESULT WINAPI RunSetupCommand(HWND hWnd, + LPCSTR szCmdName, LPCSTR szInfSection, LPCSTR szDir, LPCSTR lpszTitle, + HANDLE *phEXE, DWORD dwFlags, LPVOID pvReserved); +HRESULT WINAPI DelNode(LPCSTR pszFileOrDirName, DWORD dwFlags); DWORD WINAPI NeedRebootInit(VOID); BOOL WINAPI NeedReboot(DWORD dwRebootCheck); HRESULT WINAPI RegInstall(HMODULE hm, LPCSTR pszSection, LPCSTRTABLE pstTable);