40#define impl_to_interface(impl,iface) (struct iface *)(&(impl)->lp##iface##Vtbl)
41#define interface_to_impl(instance,iface) ((PDESKMONITOR)((ULONG_PTR)instance - FIELD_OFFSET(DESKMONITOR,lp##iface##Vtbl)))
78static const GUID CLSID_IDeskMonitor = {0x42071713,0x76d4,0x11d1,{0x8b,0x24,0x00,0xa0,0xc9,0x06,0x8f,0xf3}};
#define STDMETHODCALLTYPE
HRESULT IDeskMonitor_ReplacePage(PDESKMONITOR This, EXPPS uPageID, LPFNADDPROPSHEETPAGE pfnReplacePage, LPARAM lParam)
struct _DESKMONINFO * PDESKMONINFO
HRESULT IDeskMonitor_Initialize(PDESKMONITOR This, LPCITEMIDLIST pidlFolder, IDataObject *pdtobj, HKEY hkeyProgID)
ULONG IDeskMonitor_Release(PDESKMONITOR This)
HRESULT STDMETHODCALLTYPE IDeskMonitor_QueryInterface(PDESKMONITOR This, REFIID iid, PVOID *pvObject)
HRESULT IDeskMonitor_Constructor(REFIID riid, LPVOID *ppv)
ULONG IDeskMonitor_AddRef(PDESKMONITOR This)
struct _DESKMONITOR DESKMONITOR
VOID IDeskMonitor_InitIface(PDESKMONITOR This)
struct _DESKMONINFO DESKMONINFO
static const GUID CLSID_IDeskMonitor
struct _DESKMONITOR * PDESKMONITOR
HRESULT IDeskMonitor_AddPages(PDESKMONITOR This, LPFNADDPROPSHEETPAGE pfnAddPage, LPARAM lParam)
BOOL(CALLBACK * LPFNADDPROPSHEETPAGE)(HPROPSHEETPAGE, LPARAM)
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
struct _DESKMONINFO * Next
const struct IShellPropSheetExtVtbl * lpIShellPropSheetExtVtbl
PDEVMODEW lpDevModeOnInit
const struct IClassFactoryVtbl * lpIClassFactoryVtbl
const struct IShellExtInitVtbl * lpIShellExtInitVtbl
PDESK_EXT_INTERFACE DeskExtInterface