Alexandre Julliard : wiaservc: Convert the remaining registrations to IRegistrar format.

Alexandre Julliard julliard at winehq.org
Wed Aug 3 12:48:08 CDT 2011


Module: wine
Branch: master
Commit: ee9698c55f647a3e9fea0ea71b2d01d6b91c430c
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=ee9698c55f647a3e9fea0ea71b2d01d6b91c430c

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Tue Aug  2 21:55:15 2011 +0200

wiaservc: Convert the remaining registrations to IRegistrar format.

---

 dlls/wiaservc/rsrc.rc         |    4 +-
 dlls/wiaservc/wiaservc.inf    |   13 -------
 dlls/wiaservc/wiaservc.rgs    |   17 +++++++++
 dlls/wiaservc/wiaservc_main.c |   76 +---------------------------------------
 tools/wine.inf.in             |    1 -
 5 files changed, 21 insertions(+), 90 deletions(-)

diff --git a/dlls/wiaservc/rsrc.rc b/dlls/wiaservc/rsrc.rc
index d54734b..2cb425f 100644
--- a/dlls/wiaservc/rsrc.rc
+++ b/dlls/wiaservc/rsrc.rc
@@ -16,5 +16,5 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  */
 
-/* @makedep: wiaservc.inf */
-REGINST REGINST wiaservc.inf
+/* @makedep: wiaservc.rgs */
+1 WINE_REGISTRY wiaservc.rgs
diff --git a/dlls/wiaservc/wiaservc.inf b/dlls/wiaservc/wiaservc.inf
deleted file mode 100644
index b46eb14..0000000
--- a/dlls/wiaservc/wiaservc.inf
+++ /dev/null
@@ -1,13 +0,0 @@
-[version]
-Signature="$CHICAGO$"
-
-[RegisterDll]
-AddReg = WiaServc.Reg
-
-[UnregisterDll]
-DelReg = WiaServc.Reg
-
-[WiaServc.Reg]
-HKCR,"AppID\%CLSID_WiaDevMgr%",,,"WIA Device Manager"
-HKCR,"AppID\%CLSID_WiaDevMgr%","LocalService",,"stisvc"
-HKCR,"CLSID\%CLSID_WiaDevMgr%","AppID",,"%CLSID_WiaDevMgr%"
diff --git a/dlls/wiaservc/wiaservc.rgs b/dlls/wiaservc/wiaservc.rgs
new file mode 100644
index 0000000..a6553f6
--- /dev/null
+++ b/dlls/wiaservc/wiaservc.rgs
@@ -0,0 +1,17 @@
+HKCR
+{
+    NoRemove AppID
+    {
+        '{A1F4E726-8CF1-11D1-BF92-0060081ED811}' = s 'WIA Device Manager'
+        {
+            val LocalService = s 'stisvc'
+        }
+    }
+    NoRemove CLSID
+    {
+        '{A1F4E726-8CF1-11D1-BF92-0060081ED811}'
+        {
+            val AppID = s '{A1F4E726-8CF1-11D1-BF92-0060081ED811}'
+        }
+    }
+}
diff --git a/dlls/wiaservc/wiaservc_main.c b/dlls/wiaservc/wiaservc_main.c
index a190f31..e383aee 100644
--- a/dlls/wiaservc/wiaservc_main.c
+++ b/dlls/wiaservc/wiaservc_main.c
@@ -60,84 +60,12 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
     return TRUE;
 }
 
-static HRESULT init_register_strtable(STRTABLEA *strtable)
-{
-#define CLSID_EXPANSION_ENTRY(id) { "CLSID_" #id, &CLSID_ ## id }
-    static const struct {
-        const char *name;
-        const CLSID *clsid;
-    } expns[] =  {
-        CLSID_EXPANSION_ENTRY(WiaDevMgr)
-    };
-#undef CLSID_EXPANSION_ENTRY
-    static STRENTRYA pse[sizeof expns / sizeof expns[0]];
-    DWORD i;
-
-    strtable->cEntries = sizeof pse / sizeof pse[0];
-    strtable->pse = pse;
-    for (i = 0; i < strtable->cEntries; i++) {
-        static const char dummy_sample[] = "{12345678-1234-1234-1234-123456789012}";
-        const CLSID *clsid = expns[i].clsid;
-        pse[i].pszName = wiaservc_strdup(expns[i].name);
-        pse[i].pszValue = HeapAlloc(GetProcessHeap(), 0, sizeof dummy_sample);
-        if (!pse[i].pszName || !pse[i].pszValue)
-            return E_OUTOFMEMORY;
-        sprintf(pse[i].pszValue, "{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}",
-                clsid->Data1, clsid->Data2, clsid->Data3, clsid->Data4[0],
-                clsid->Data4[1], clsid->Data4[2], clsid->Data4[3], clsid->Data4[4],
-                clsid->Data4[5], clsid->Data4[6], clsid->Data4[7]);
-    }
-
-    return S_OK;
-}
-
-static void cleanup_register_strtable(STRTABLEA *strtable)
-{
-    DWORD i;
-    for (i = 0; i < strtable->cEntries; i++) {
-        HeapFree(GetProcessHeap(), 0, strtable->pse[i].pszName);
-        HeapFree(GetProcessHeap(), 0, strtable->pse[i].pszValue);
-        if (!strtable->pse[i].pszName || !strtable->pse[i].pszValue)
-            return;
-    }
-}
-
-/* Use an INF file to register or unregister the DLL */
-static HRESULT register_server(BOOL do_register)
-{
-    HRESULT hr;
-    STRTABLEA strtable;
-    HMODULE hAdvpack;
-    HRESULT (WINAPI *pRegInstall)(HMODULE hm, LPCSTR pszSection, const STRTABLEA* pstTable);
-    static const WCHAR wszAdvpack[] = {'a','d','v','p','a','c','k','.','d','l','l',0};
-
-    TRACE("(%x)\n", do_register);
-
-    hAdvpack = LoadLibraryW(wszAdvpack);
-    pRegInstall = (void *)GetProcAddress(hAdvpack, "RegInstall");
-
-    hr = init_register_strtable(&strtable);
-    if (SUCCEEDED(hr))
-        hr = pRegInstall(hInst, do_register ? "RegisterDll" : "UnregisterDll",
-                         &strtable);
-    cleanup_register_strtable(&strtable);
-
-    if (FAILED(hr))
-        ERR("RegInstall failed: %08x\n", hr);
-
-    return hr;
-}
-
 HRESULT WINAPI DllRegisterServer(void)
 {
-    HRESULT hr = __wine_register_resources( hInst );
-    if (FAILED(hr)) return hr;
-    return register_server(TRUE);
+    return __wine_register_resources( hInst );
 }
 
 HRESULT WINAPI DllUnregisterServer(void)
 {
-    HRESULT hr = __wine_unregister_resources( hInst );
-    if (FAILED(hr)) return hr;
-    return register_server(FALSE);
+    return __wine_unregister_resources( hInst );
 }
diff --git a/tools/wine.inf.in b/tools/wine.inf.in
index ad891c4..ffe1937 100644
--- a/tools/wine.inf.in
+++ b/tools/wine.inf.in
@@ -2502,7 +2502,6 @@ HKLM,%CurrentVersion%\Telephony\Country List\998,"SameAreaRule",,"G"
 11,,qmgr.dll,1
 11,,quartz.dll,1
 11,,urlmon.dll,1
-11,,wiaservc.dll,1
 11,,windowscodecs.dll,1
 11,,winegstreamer.dll,1
 11,,wineqtdecoder.dll,1




More information about the wine-cvs mailing list