xref: /reactos/dll/shellext/deskadp/deskadp.h (revision 845faec4)
1 #pragma once
2 
3 typedef struct _DESKDISPLAYADAPTER
4 {
5     const struct IShellPropSheetExtVtbl *lpIShellPropSheetExtVtbl;
6     const struct IShellExtInitVtbl *lpIShellExtInitVtbl;
7     const struct IClassFactoryVtbl *lpIClassFactoryVtbl;
8     DWORD ref;
9 
10     HWND hwndDlg;
11     PDESK_EXT_INTERFACE DeskExtInterface;
12     IDataObject *pdtobj;
13     LPTSTR lpDeviceId;
14     PDEVMODEW lpSelDevMode;
15     PDEVMODEW lpDevModeOnInit;
16 } DESKDISPLAYADAPTER, *PDESKDISPLAYADAPTER;
17 
18 extern LONG dll_refs;
19 
20 #define impl_to_interface(impl,iface) (struct iface *)(&(impl)->lp##iface##Vtbl)
21 #define interface_to_impl(instance,iface) ((PDESKDISPLAYADAPTER)((ULONG_PTR)instance - FIELD_OFFSET(DESKDISPLAYADAPTER,lp##iface##Vtbl)))
22 
23 HRESULT
24 IDeskDisplayAdapter_Constructor(REFIID riid,
25                                 LPVOID *ppv);
26 
27 VOID
28 IDeskDisplayAdapter_InitIface(PDESKDISPLAYADAPTER This);
29 
30 HRESULT STDMETHODCALLTYPE
31 IDeskDisplayAdapter_QueryInterface(PDESKDISPLAYADAPTER This,
32                                    REFIID iid,
33                                    PVOID *pvObject);
34 
35 ULONG
36 IDeskDisplayAdapter_AddRef(PDESKDISPLAYADAPTER This);
37 
38 ULONG
39 IDeskDisplayAdapter_Release(PDESKDISPLAYADAPTER This);
40 
41 HRESULT
42 IDeskDisplayAdapter_Initialize(PDESKDISPLAYADAPTER This,
43                                LPCITEMIDLIST pidlFolder,
44                                IDataObject *pdtobj,
45                                HKEY hkeyProgID);
46 
47 HRESULT
48 IDeskDisplayAdapter_AddPages(PDESKDISPLAYADAPTER This,
49                              LPFNADDPROPSHEETPAGE pfnAddPage,
50                              LPARAM lParam);
51 
52 HRESULT
53 IDeskDisplayAdapter_ReplacePage(PDESKDISPLAYADAPTER This,
54                                 EXPPS uPageID,
55                                 LPFNADDPROPSHEETPAGE pfnReplacePage,
56                                 LPARAM lParam);
57 
58 static const GUID CLSID_IDeskDisplayAdapter = {0x42071712,0x76d4,0x11d1,{0x8b,0x24,0x00,0xa0,0xc9,0x06,0x8f,0xf3}};
59 
60 ULONG __cdecl DbgPrint(PCCH Format,...);
61