4 typedef struct _DESKMONINFO
7 struct _DESKMONINFO
*Next
;
8 } DESKMONINFO
, *PDESKMONINFO
;
10 typedef struct _DESKMONITOR
12 const struct IShellPropSheetExtVtbl
*lpIShellPropSheetExtVtbl
;
13 const struct IShellExtInitVtbl
*lpIShellExtInitVtbl
;
14 const struct IClassFactoryVtbl
*lpIClassFactoryVtbl
;
18 PDESK_EXT_INTERFACE DeskExtInterface
;
20 LPTSTR lpDisplayDevice
;
22 PDESKMONINFO Monitors
;
23 PDESKMONINFO SelMonitor
;
24 PDEVMODEW lpSelDevMode
;
25 PDEVMODEW lpDevModeOnInit
;
31 DWORD bModesPruned
: 1;
32 DWORD bKeyIsReadOnly
: 1;
37 } DESKMONITOR
, *PDESKMONITOR
;
41 #define impl_to_interface(impl,iface) (struct iface *)(&(impl)->lp##iface##Vtbl)
42 #define interface_to_impl(instance,iface) ((PDESKMONITOR)((ULONG_PTR)instance - FIELD_OFFSET(DESKMONITOR,lp##iface##Vtbl)))
45 IDeskMonitor_Constructor(REFIID riid
,
49 IDeskMonitor_InitIface(PDESKMONITOR This
);
51 HRESULT STDMETHODCALLTYPE
52 IDeskMonitor_QueryInterface(PDESKMONITOR This
,
57 IDeskMonitor_AddRef(PDESKMONITOR This
);
60 IDeskMonitor_Release(PDESKMONITOR This
);
63 IDeskMonitor_Initialize(PDESKMONITOR This
,
64 LPCITEMIDLIST pidlFolder
,
69 IDeskMonitor_AddPages(PDESKMONITOR This
,
70 LPFNADDPROPSHEETPAGE pfnAddPage
,
74 IDeskMonitor_ReplacePage(PDESKMONITOR This
,
76 LPFNADDPROPSHEETPAGE pfnReplacePage
,
79 static const GUID CLSID_IDeskMonitor
= {0x42071713,0x76d4,0x11d1,{0x8b,0x24,0x00,0xa0,0xc9,0x06,0x8f,0xf3}};
81 ULONG __cdecl
DbgPrint(PCCH Format
,...);
83 #endif /* __DESKMON__H */