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