Synchronize up to trunk's revision r57756.
[reactos.git] / dll / win32 / atl / atl_ros.diff
1 Index: atl_main.c
2 ===================================================================
3 --- atl_main.c (revision 48273)
4 +++ atl_main.c (working copy)
5 @@ -60,7 +60,7 @@
6 INT i;
7 UINT size;
8
9 - FIXME("SEMI-STUB (%p %p %p)\n",pM,p,h);
10 + //FIXME("SEMI-STUB (%p %p %p)\n",pM,p,h);
11
12 size = pM->cbSize;
13 switch (size)
14 Index: registrar.c
15 ===================================================================
16 --- registrar.c (revision 48273)
17 +++ registrar.c (revision 48273)
18 @@ -819,6 +819,19 @@
19 return hres;
20 }
21
22 +static HRESULT do_register_server(BOOL do_register)
23 +{
24 + static const WCHAR CLSID_RegistrarW[] =
25 + {'C','L','S','I','D','_','R','e','g','i','s','t','r','a','r',0};
26 + static const WCHAR atl_dllW[] = {'a','t','l','.','d','l','l',0};
27 +
28 + WCHAR clsid_str[40];
29 + const struct _ATL_REGMAP_ENTRY reg_map[] = {{CLSID_RegistrarW, clsid_str}, {NULL,NULL}};
30 +
31 + StringFromGUID2(&CLSID_Registrar, clsid_str, sizeof(clsid_str)/sizeof(WCHAR));
32 + return do_register_dll_server(NULL, atl_dllW, MAKEINTRESOURCEW(101), do_register, reg_map);
33 +}
34 +
35 /***********************************************************************
36 * AtlModuleUpdateRegistryFromResourceD [ATL.@]
37 *
38 @@ -849,7 +862,8 @@
39 */
40 HRESULT WINAPI DllRegisterServer(void)
41 {
42 - return __wine_register_resources( hInst );
43 + /* Note: we can't use __wine_register_server here because it uses CLSID_Registrar which isn't registred yet */
44 + return do_register_server(TRUE);
45 }
46
47 /***********************************************************************
48 @@ -857,7 +871,7 @@
49 */
50 HRESULT WINAPI DllUnregisterServer(void)
51 {
52 - return __wine_unregister_resources( hInst );
53 + return do_register_server(FALSE);
54 }
55
56 /***********************************************************************