James Hawkins : advpack: Add stubs for CloseINFEngine, OpenINFEngine, and

Alexandre Julliard julliard at wine.codeweavers.com
Sat Jan 14 10:56:36 CST 2006


Module: wine
Branch: refs/heads/master
Commit: 461904cb6ebc4515141bc846fbed0df7bcab8079
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=461904cb6ebc4515141bc846fbed0df7bcab8079

Author: James Hawkins <truiken at gmail.com>
Date:   Sat Jan 14 17:10:16 2006 +0100

advpack: Add stubs for CloseINFEngine, OpenINFEngine, and
TranslateInfStringEx.

---

 dlls/advpack/advpack.c    |   94 +++++++++++++++++++++++++++++++++++++++++++++
 dlls/advpack/advpack.spec |    6 +--
 include/advpub.h          |   10 +++++
 3 files changed, 107 insertions(+), 3 deletions(-)

diff --git a/dlls/advpack/advpack.c b/dlls/advpack/advpack.c
index 9c6ac1a..4fcae96 100644
--- a/dlls/advpack/advpack.c
+++ b/dlls/advpack/advpack.c
@@ -37,6 +37,27 @@ WINE_DEFAULT_DEBUG_CHANNEL(advpack);
 typedef HRESULT (WINAPI *DLLREGISTER) (void);
 
 /***********************************************************************
+ *           CloseINFEngine (ADVPACK.@)
+ *
+ *
+ * PARAMS
+ *   hInf [I]
+ *
+ * RETURNS
+ *   Success: S_OK.
+ *   Failure: E_FAIL.
+ *
+ * BUGS
+ *   Unimplemented.
+ */
+HRESULT WINAPI CloseINFEngine(HINF hInf)
+{
+    FIXME("(%p) stub\n", hInf);
+
+    return E_FAIL;
+}
+
+/***********************************************************************
  *           DllMain (ADVPACK.@)
  */
 BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
@@ -245,6 +266,35 @@ BOOL WINAPI NeedReboot(DWORD dwRebootChe
 }
 
 /***********************************************************************
+ *             OpenINFEngine    (ADVPACK.@)
+ *
+ * Opens and returns a handle to an INF file to be used by
+ * TranslateInfStringEx to continuously translate the INF file.
+ *
+ * PARAMS
+ *   pszInfFilename    [I] Filename of the INF to open.
+ *   pszInstallSection [I] Name of the Install section in the INF.
+ *   dwFlags           [I] See advpub.h.
+ *   phInf             [O] Handle to the loaded INF file.
+ *   pvReserved        [I] Reserved.  Must be NULL.
+ *
+ * RETURNS
+ *   Success: S_OK.
+ *   Failure: E_FAIL.
+ *
+ * BUGS
+ *   Unimplemented.
+ */
+HRESULT WINAPI OpenINFEngine(PCSTR pszInfFilename, PCSTR pszInstallSection,
+                             DWORD dwFlags, HINF *phInf, PVOID pvReserved)
+{
+    FIXME("(%p, %p, %ld, %p, %p) stub\n", pszInfFilename, pszInstallSection,
+          dwFlags, phInf, pvReserved);
+
+    return E_FAIL;
+}
+
+/***********************************************************************
  *             RegisterOCX    (ADVPACK.@)
  */
 void WINAPI RegisterOCX( HWND hWnd, HINSTANCE hInst, LPCSTR cmdline, INT show )
@@ -361,3 +411,47 @@ HRESULT WINAPI TranslateInfString(PCSTR 
 
     return S_OK;
 }
+
+/***********************************************************************
+ *             TranslateInfStringEx    (ADVPACK.@)
+ *
+ * Using a handle to an INF file opened with OpenINFEngine, translates
+ * the value of a specified key in an inf file into the current locale
+ * by expanding string macros.
+ *
+ * PARAMS
+ *   hInf                [I] Handle to the INF file.
+ *   pszInfFilename      [I] Filename of the INF file.
+ *   pszTranslateSection [I] Inf section where the key exists.
+ *   pszTranslateKey     [I] Key to translate.
+ *   pszBuffer           [O] Contains the translated string on exit.
+ *   dwBufferSize        [I] Size on input of pszBuffer.
+ *   pdwRequiredSize     [O] Length of the translated key.
+ *   pvReserved          [I] Reserved.  Must be NULL.
+ *
+ * RETURNS
+ *   Success: S_OK.
+ *   Failure: E_FAIL.
+ *
+ * NOTES
+ *   To use TranslateInfStringEx to translate an INF file continuously,
+ *   open the INF file with OpenINFEngine, call TranslateInfStringEx as
+ *   many times as needed, then release the handle with CloseINFEngine.
+ *   When translating more than one keys, this method is more efficient
+ *   than calling TranslateInfString, because the INF file is only
+ *   opened once.
+ *
+ * BUGS
+ *   Unimplemented.
+ */
+HRESULT WINAPI TranslateInfStringEx(HINF hInf, PCSTR pszInfFilename,
+                                    PCSTR pszTranslateSection, PCSTR pszTranslateKey,
+                                    PSTR pszBuffer, DWORD dwBufferSize,
+                                    PDWORD pdwRequiredSize, PVOID pvReserved)
+{
+    FIXME("(%p, %p, %p, %p, %p, %ld, %p, %p) stub\n", hInf, pszInfFilename,
+          pszTranslateSection, pszTranslateKey, pszBuffer, dwBufferSize,
+          pdwRequiredSize, pvReserved);
+
+    return E_FAIL;   
+}
diff --git a/dlls/advpack/advpack.spec b/dlls/advpack/advpack.spec
index 53790ae..bb8487f 100644
--- a/dlls/advpack/advpack.spec
+++ b/dlls/advpack/advpack.spec
@@ -1,6 +1,6 @@
 @ stdcall AddDelBackupEntry(str str str long)
 @ stdcall AdvInstallFile(long str str str str long long)
-@ stub CloseINFEngine
+@ stdcall CloseINFEngine(long)
 @ stdcall DelNode(str long)
 @ stdcall DelNodeRunDLL32(ptr ptr str long)
 @ stdcall -private DllMain(long long ptr)
@@ -17,7 +17,7 @@
 @ stdcall LaunchINFSectionEx(ptr ptr str long)
 @ stdcall NeedReboot(long)
 @ stdcall NeedRebootInit()
-@ stub OpenINFEngine
+@ stdcall OpenINFEngine(str str long ptr ptr)
 @ stub RebootCheckOnInstall
 @ stdcall RegInstall(ptr str ptr)
 @ stdcall RegRestoreAll(ptr str long)
@@ -27,6 +27,6 @@
 @ stdcall RunSetupCommand(long str str str str ptr long ptr)
 @ stub SetPerUserSecValues
 @ stdcall TranslateInfString(str str str str ptr long ptr ptr)
-@ stub TranslateInfStringEx
+@ stdcall TranslateInfStringEx(long str str str str long ptr ptr)
 @ stub UserInstStubWrapper
 @ stub UserUnInstStubWrapper
diff --git a/include/advpub.h b/include/advpub.h
index f45c45e..aef373b 100644
--- a/include/advpub.h
+++ b/include/advpub.h
@@ -46,6 +46,10 @@ typedef struct _StrTable {
 typedef const STRTABLE CSTRTABLE;
 typedef CSTRTABLE *LPCSTRTABLE;
 
+#ifndef _INC_SETUPAPI
+typedef PVOID HINF;
+#endif
+
 /* Flags for AddDelBackupEntry */
 #define AADBE_ADD_ENTRY             0x01
 #define AADBE_DEL_ENTRY             0x02
@@ -105,6 +109,7 @@ HRESULT WINAPI AddDelBackupEntry(LPCSTR 
 HRESULT WINAPI AdvInstallFile(HWND hwnd, LPCSTR lpszSourceDir,
      LPCSTR lpszSourceFile, LPCSTR lpszDestDir, LPCSTR lpszDestFile,
      DWORD dwFlags, DWORD dwReserved);
+HRESULT WINAPI CloseINFEngine(HINF hInf);
 HRESULT WINAPI DelNode(LPCSTR pszFileOrDirName, DWORD dwFlags);
 HRESULT WINAPI DelNodeRunDLL32(HWND,HINSTANCE,LPSTR,INT);
 HRESULT WINAPI ExecuteCab( HWND hwnd, PCABINFO pCab, LPVOID pReserved );
@@ -121,6 +126,8 @@ INT WINAPI LaunchINFSection(HWND,HINSTAN
 HRESULT WINAPI LaunchINFSectionEx(HWND,HINSTANCE,LPSTR,INT);
 DWORD WINAPI NeedRebootInit(VOID);
 BOOL WINAPI NeedReboot(DWORD dwRebootCheck);
+HRESULT WINAPI OpenINFEngine(PCSTR pszInfFilename, PCSTR pszInstallSection,
+     DWORD dwFlags, HINF *phInf, PVOID pvReserved);
 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,
@@ -133,6 +140,9 @@ HRESULT WINAPI RunSetupCommand(HWND hWnd
 HRESULT WINAPI TranslateInfString(PCSTR pszInfFilename, PCSTR pszInstallSection,
      PCSTR pszTranslateSection, PCSTR pszTranslateKey, PSTR pszBuffer,
      DWORD dwBufferSize, PDWORD pdwRequiredSize, PVOID pvReserved);
+HRESULT WINAPI TranslateInfStringEx(HINF hInf, PCSTR pszInfFilename,
+    PCSTR pszTranslateSection, PCSTR pszTranslateKey, PSTR pszBuffer,
+    DWORD dwBufferSize, PDWORD pdwRequiredSize, PVOID pvReserved);
 
 #ifdef __cplusplus
 }




More information about the wine-cvs mailing list