2010-02-26 11:43:19 +00:00
|
|
|
#pragma once
|
2007-09-27 05:45:03 +00:00
|
|
|
|
2007-09-27 17:53:14 +00:00
|
|
|
typedef struct _DESKMONINFO
|
|
|
|
{
|
|
|
|
DISPLAY_DEVICE dd;
|
|
|
|
struct _DESKMONINFO *Next;
|
|
|
|
} DESKMONINFO, *PDESKMONINFO;
|
|
|
|
|
2007-09-27 05:45:03 +00:00
|
|
|
typedef struct _DESKMONITOR
|
|
|
|
{
|
|
|
|
const struct IShellPropSheetExtVtbl *lpIShellPropSheetExtVtbl;
|
|
|
|
const struct IShellExtInitVtbl *lpIShellExtInitVtbl;
|
|
|
|
const struct IClassFactoryVtbl *lpIClassFactoryVtbl;
|
|
|
|
DWORD ref;
|
|
|
|
|
|
|
|
HWND hwndDlg;
|
|
|
|
PDESK_EXT_INTERFACE DeskExtInterface;
|
|
|
|
IDataObject *pdtobj;
|
2007-09-27 17:53:14 +00:00
|
|
|
LPTSTR lpDisplayDevice;
|
|
|
|
DWORD dwMonitorCount;
|
|
|
|
PDESKMONINFO Monitors;
|
|
|
|
PDESKMONINFO SelMonitor;
|
2007-09-28 04:07:26 +00:00
|
|
|
PDEVMODEW lpSelDevMode;
|
2007-09-27 17:53:14 +00:00
|
|
|
PDEVMODEW lpDevModeOnInit;
|
2007-09-28 04:07:26 +00:00
|
|
|
union
|
|
|
|
{
|
|
|
|
DWORD dwFlags;
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
DWORD bModesPruned : 1;
|
|
|
|
DWORD bKeyIsReadOnly : 1;
|
|
|
|
DWORD bPruningOn : 1;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2007-09-27 05:45:03 +00:00
|
|
|
} DESKMONITOR, *PDESKMONITOR;
|
|
|
|
|
|
|
|
extern LONG dll_refs;
|
|
|
|
|
|
|
|
#define impl_to_interface(impl,iface) (struct iface *)(&(impl)->lp##iface##Vtbl)
|
|
|
|
#define interface_to_impl(instance,iface) ((PDESKMONITOR)((ULONG_PTR)instance - FIELD_OFFSET(DESKMONITOR,lp##iface##Vtbl)))
|
|
|
|
|
|
|
|
HRESULT
|
|
|
|
IDeskMonitor_Constructor(REFIID riid,
|
|
|
|
LPVOID *ppv);
|
|
|
|
|
|
|
|
VOID
|
|
|
|
IDeskMonitor_InitIface(PDESKMONITOR This);
|
|
|
|
|
|
|
|
HRESULT STDMETHODCALLTYPE
|
|
|
|
IDeskMonitor_QueryInterface(PDESKMONITOR This,
|
|
|
|
REFIID iid,
|
|
|
|
PVOID *pvObject);
|
|
|
|
|
|
|
|
ULONG
|
|
|
|
IDeskMonitor_AddRef(PDESKMONITOR This);
|
|
|
|
|
|
|
|
ULONG
|
|
|
|
IDeskMonitor_Release(PDESKMONITOR This);
|
|
|
|
|
|
|
|
HRESULT
|
|
|
|
IDeskMonitor_Initialize(PDESKMONITOR This,
|
|
|
|
LPCITEMIDLIST pidlFolder,
|
|
|
|
IDataObject *pdtobj,
|
|
|
|
HKEY hkeyProgID);
|
|
|
|
|
|
|
|
HRESULT
|
|
|
|
IDeskMonitor_AddPages(PDESKMONITOR This,
|
|
|
|
LPFNADDPROPSHEETPAGE pfnAddPage,
|
|
|
|
LPARAM lParam);
|
|
|
|
|
|
|
|
HRESULT
|
|
|
|
IDeskMonitor_ReplacePage(PDESKMONITOR This,
|
|
|
|
EXPPS uPageID,
|
|
|
|
LPFNADDPROPSHEETPAGE pfnReplacePage,
|
|
|
|
LPARAM lParam);
|
|
|
|
|
|
|
|
static const GUID CLSID_IDeskMonitor = {0x42071713,0x76d4,0x11d1,{0x8b,0x24,0x00,0xa0,0xc9,0x06,0x8f,0xf3}};
|
|
|
|
|
|
|
|
ULONG __cdecl DbgPrint(PCCH Format,...);
|