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