3 extern HINSTANCE hInstance
;
18 /******************************************************************************
20 ******************************************************************************/
22 static const GUID CLSID_ICompatibilityPage
= {0x513D916F,0x2A8E,0x4F51,{0xAE,0xAB,0x0C,0xBC,0x76,0xFB,0x1A,0xF9}}; /* F8 on XP! */
24 typedef struct ICompatibilityPage
*LPCOMPATIBILITYPAGE
;
26 /* IShellPropSheetExt */
27 typedef struct ifaceIShellPropSheetExtVbtl ifaceIShellPropSheetExtVbtl
;
28 struct ifaceIShellPropSheetExtVbtl
30 HRESULT (STDMETHODCALLTYPE
*AddPages
)(LPCOMPATIBILITYPAGE
this,
31 LPFNADDPROPSHEETPAGE lpfnAddPage
,
33 HRESULT (STDMETHODCALLTYPE
*ReplacePage
)(LPCOMPATIBILITYPAGE
this,
35 LPFNADDPROPSHEETPAGE lpfnReplacePage
,
40 typedef struct ifaceIShellExtInitVbtl ifaceIShellExtInitVbtl
;
41 struct ifaceIShellExtInitVbtl
43 HRESULT (STDMETHODCALLTYPE
*Initialize
)(LPCOMPATIBILITYPAGE
this,
44 LPCITEMIDLIST pidlFolder
,
50 typedef struct ifaceIClassFactoryVbtl ifaceIClassFactoryVbtl
;
51 struct ifaceIClassFactoryVbtl
53 HRESULT (STDMETHODCALLTYPE
*CreateInstance
)(LPCOMPATIBILITYPAGE
this,
57 HRESULT (STDMETHODCALLTYPE
*LockServer
)(LPCOMPATIBILITYPAGE
this,
61 /* ICompatibilityPage */
62 typedef struct ifaceICompatibilityPageVbtl ifaceICompatibilityPageVbtl
;
63 struct ifaceICompatibilityPageVbtl
66 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(LPCOMPATIBILITYPAGE
this,
69 ULONG (STDMETHODCALLTYPE
*AddRef
)(LPCOMPATIBILITYPAGE
this);
70 ULONG (STDMETHODCALLTYPE
*Release
)(LPCOMPATIBILITYPAGE
this);
74 ifaceIShellPropSheetExtVbtl IShellPropSheetExt
;
75 ifaceIShellExtInitVbtl IShellExtInit
;
76 ifaceIClassFactoryVbtl IClassFactory
;
80 typedef struct ICompatibilityPage
83 ifaceICompatibilityPageVbtl
* lpVtbl
;
85 /* ICompatibilityPage fields */
86 TCHAR szFile
[MAX_PATH
+ 1];
95 HRESULT STDMETHODCALLTYPE
ICompatibilityPage_fnQueryInterface(LPCOMPATIBILITYPAGE
this,
98 ULONG STDMETHODCALLTYPE
ICompatibilityPage_fnAddRef(LPCOMPATIBILITYPAGE
this);
99 ULONG STDMETHODCALLTYPE
ICompatibilityPage_fnRelease(LPCOMPATIBILITYPAGE
this);
101 /* IShellPropSheetExt */
102 HRESULT STDMETHODCALLTYPE
ICompatibilityPage_fnAddPages(LPCOMPATIBILITYPAGE
this,
103 LPFNADDPROPSHEETPAGE lpfnAddPage
,
105 HRESULT STDMETHODCALLTYPE
ICompatibilityPage_fnReplacePage(LPCOMPATIBILITYPAGE
this,
107 LPFNADDPROPSHEETPAGE lpfnReplacePage
,
110 HRESULT STDMETHODCALLTYPE
ICompatibilityPage_fnInitialize(LPCOMPATIBILITYPAGE
this,
111 LPCITEMIDLIST pidlFolder
,
115 HRESULT STDMETHODCALLTYPE
ICompatibilityPage_fnCreateInstance(LPCOMPATIBILITYPAGE
this,
119 HRESULT STDMETHODCALLTYPE
ICompatibilityPage_fnLockServer(LPCOMPATIBILITYPAGE
this,