8 static HRESULT STDMETHODCALLTYPE
9 IDeskMonitor_IShellPropSheetExt_QueryInterface(IShellPropSheetExt
*iface
,
13 PDESKMONITOR This
= interface_to_impl(iface
, IShellPropSheetExt
);
14 return IDeskMonitor_QueryInterface(This
,
19 static ULONG STDMETHODCALLTYPE
20 IDeskMonitor_IShellPropSheetExt_AddRef(IShellPropSheetExt
* iface
)
22 PDESKMONITOR This
= interface_to_impl(iface
, IShellPropSheetExt
);
23 return IDeskMonitor_AddRef(This
);
26 static ULONG STDMETHODCALLTYPE
27 IDeskMonitor_IShellPropSheetExt_Release(IShellPropSheetExt
* iface
)
29 PDESKMONITOR This
= interface_to_impl(iface
, IShellPropSheetExt
);
30 return IDeskMonitor_Release(This
);
33 static HRESULT STDMETHODCALLTYPE
34 IDeskMonitor_IShellPropSheetExt_AddPages(IShellPropSheetExt
* iface
,
35 LPFNADDPROPSHEETPAGE pfnAddPage
,
38 PDESKMONITOR This
= interface_to_impl(iface
, IShellPropSheetExt
);
39 return IDeskMonitor_AddPages(This
,
44 static HRESULT STDMETHODCALLTYPE
45 IDeskMonitor_IShellPropSheetExt_ReplacePage(IShellPropSheetExt
* iface
,
47 LPFNADDPROPSHEETPAGE pfnReplacePage
,
50 PDESKMONITOR This
= interface_to_impl(iface
, IShellPropSheetExt
);
51 return IDeskMonitor_ReplacePage(This
,
57 static IShellPropSheetExtVtbl efvtIShellPropSheetExt
=
59 IDeskMonitor_IShellPropSheetExt_QueryInterface
,
60 IDeskMonitor_IShellPropSheetExt_AddRef
,
61 IDeskMonitor_IShellPropSheetExt_Release
,
62 IDeskMonitor_IShellPropSheetExt_AddPages
,
63 IDeskMonitor_IShellPropSheetExt_ReplacePage
66 static HRESULT STDMETHODCALLTYPE
67 IDeskMonitor_IShellExtInit_QueryInterface(IShellExtInit
*iface
,
71 PDESKMONITOR This
= interface_to_impl(iface
, IShellExtInit
);
72 return IDeskMonitor_QueryInterface(This
,
77 static ULONG STDMETHODCALLTYPE
78 IDeskMonitor_IShellExtInit_AddRef(IShellExtInit
* iface
)
80 PDESKMONITOR This
= interface_to_impl(iface
, IShellExtInit
);
81 return IDeskMonitor_AddRef(This
);
84 static ULONG STDMETHODCALLTYPE
85 IDeskMonitor_IShellExtInit_Release(IShellExtInit
* iface
)
87 PDESKMONITOR This
= interface_to_impl(iface
, IShellExtInit
);
88 return IDeskMonitor_Release(This
);
91 static HRESULT STDMETHODCALLTYPE
92 IDeskMonitor_IShellExtInit_Initialize(IShellExtInit
* iface
,
93 LPCITEMIDLIST pidlFolder
,
97 PDESKMONITOR This
= interface_to_impl(iface
, IShellExtInit
);
98 return IDeskMonitor_Initialize(This
,
104 static IShellExtInitVtbl efvtIShellExtInit
=
106 IDeskMonitor_IShellExtInit_QueryInterface
,
107 IDeskMonitor_IShellExtInit_AddRef
,
108 IDeskMonitor_IShellExtInit_Release
,
109 IDeskMonitor_IShellExtInit_Initialize
112 static HRESULT STDMETHODCALLTYPE
113 IDeskMonitor_IClassFactory_QueryInterface(IClassFactory
*iface
,
117 PDESKMONITOR This
= interface_to_impl(iface
, IClassFactory
);
118 return IDeskMonitor_QueryInterface(This
,
123 static ULONG STDMETHODCALLTYPE
124 IDeskMonitor_IClassFactory_AddRef(IClassFactory
* iface
)
126 PDESKMONITOR This
= interface_to_impl(iface
, IClassFactory
);
127 return IDeskMonitor_AddRef(This
);
130 static ULONG STDMETHODCALLTYPE
131 IDeskMonitor_IClassFactory_Release(IClassFactory
* iface
)
133 PDESKMONITOR This
= interface_to_impl(iface
, IClassFactory
);
134 return IDeskMonitor_Release(This
);
137 static HRESULT STDMETHODCALLTYPE
138 IDeskMonitor_IClassFactory_CreateInstance(IClassFactory
*iface
,
139 IUnknown
* pUnkOuter
,
143 if (pUnkOuter
!= NULL
&&
147 return CLASS_E_NOAGGREGATION
;
150 return IDeskMonitor_Constructor(riid
,
154 static HRESULT STDMETHODCALLTYPE
155 IDeskMonitor_IClassFactory_LockServer(IClassFactory
*iface
,
159 InterlockedIncrement(&dll_refs
);
161 InterlockedDecrement(&dll_refs
);
166 static IClassFactoryVtbl efvtIClassFactory
=
168 IDeskMonitor_IClassFactory_QueryInterface
,
169 IDeskMonitor_IClassFactory_AddRef
,
170 IDeskMonitor_IClassFactory_Release
,
171 IDeskMonitor_IClassFactory_CreateInstance
,
172 IDeskMonitor_IClassFactory_LockServer
,
176 IDeskMonitor_InitIface(PDESKMONITOR This
)
178 This
->lpIShellPropSheetExtVtbl
= &efvtIShellPropSheetExt
;
179 This
->lpIShellExtInitVtbl
= &efvtIShellExtInit
;
180 This
->lpIClassFactoryVtbl
= &efvtIClassFactory
;
182 IDeskMonitor_AddRef(This
);
186 DllGetClassObject(REFCLSID rclsid
,
194 if (IsEqualCLSID(rclsid
,
195 &CLSID_IDeskMonitor
))
197 return IDeskMonitor_Constructor(riid
,
201 DPRINT1("DllGetClassObject: CLASS_E_CLASSNOTAVAILABLE\n");
202 return CLASS_E_CLASSNOTAVAILABLE
;
206 DllCanUnloadNow(VOID
)
208 return dll_refs
== 0 ? S_OK
: S_FALSE
;