ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

slayer.h
Go to the documentation of this file.
00001 #pragma once
00002 
00003 extern HINSTANCE hInstance;
00004 
00005 typedef struct _CITEM
00006 {
00007   struct _CITEM *next;
00008   TCHAR szName[256];
00009   TCHAR szKeyName[256];
00010   DWORD MajorVersion;
00011   DWORD MinorVersion;
00012   DWORD BuildNumber;
00013   DWORD PlatformId;
00014   DWORD SPMajorVersion;
00015   DWORD SPMinorVersion;
00016 } CITEM, *PCITEM;
00017 
00018 /******************************************************************************
00019    ICompatibilityPage
00020  ******************************************************************************/
00021 
00022 static const GUID CLSID_ICompatibilityPage = {0x513D916F,0x2A8E,0x4F51,{0xAE,0xAB,0x0C,0xBC,0x76,0xFB,0x1A,0xF9}}; /* F8 on XP! */
00023 
00024 typedef struct ICompatibilityPage *LPCOMPATIBILITYPAGE;
00025 
00026 /* IShellPropSheetExt */
00027 typedef struct ifaceIShellPropSheetExtVbtl ifaceIShellPropSheetExtVbtl;
00028 struct ifaceIShellPropSheetExtVbtl
00029 {
00030   HRESULT (STDMETHODCALLTYPE *AddPages)(LPCOMPATIBILITYPAGE this,
00031                                         LPFNADDPROPSHEETPAGE lpfnAddPage,
00032                                         LPARAM lParam);
00033   HRESULT (STDMETHODCALLTYPE *ReplacePage)(LPCOMPATIBILITYPAGE this,
00034                                            UINT uPageID,
00035                                            LPFNADDPROPSHEETPAGE lpfnReplacePage,
00036                                            LPARAM lParam);
00037 };
00038 
00039 /* IShellExtInit */
00040 typedef struct ifaceIShellExtInitVbtl ifaceIShellExtInitVbtl;
00041 struct ifaceIShellExtInitVbtl
00042 {
00043   HRESULT (STDMETHODCALLTYPE *Initialize)(LPCOMPATIBILITYPAGE this,
00044                                           LPCITEMIDLIST pidlFolder,
00045                                           IDataObject *pdtobj,
00046                                           HKEY hkeyProgID);
00047 };
00048 
00049 /* IClassFactory */
00050 typedef struct ifaceIClassFactoryVbtl ifaceIClassFactoryVbtl;
00051 struct ifaceIClassFactoryVbtl
00052 {
00053   HRESULT (STDMETHODCALLTYPE *CreateInstance)(LPCOMPATIBILITYPAGE this,
00054                                               LPUNKNOWN pUnkOuter,
00055                                               REFIID riid,
00056                                               PVOID *ppvObject);
00057   HRESULT (STDMETHODCALLTYPE *LockServer)(LPCOMPATIBILITYPAGE this,
00058                                           BOOL fLock);
00059 };
00060 
00061 /* ICompatibilityPage */
00062 typedef struct ifaceICompatibilityPageVbtl ifaceICompatibilityPageVbtl;
00063 struct ifaceICompatibilityPageVbtl
00064 {
00065   /* IUnknown */
00066   HRESULT (STDMETHODCALLTYPE *QueryInterface)(LPCOMPATIBILITYPAGE this,
00067                                               REFIID iid,
00068                           PVOID *pvObject);
00069   ULONG (STDMETHODCALLTYPE *AddRef)(LPCOMPATIBILITYPAGE this);
00070   ULONG (STDMETHODCALLTYPE *Release)(LPCOMPATIBILITYPAGE this);
00071 
00072   union
00073   {
00074     ifaceIShellPropSheetExtVbtl IShellPropSheetExt;
00075     ifaceIShellExtInitVbtl IShellExtInit;
00076     ifaceIClassFactoryVbtl IClassFactory;
00077   } fn;
00078 };
00079 
00080 typedef struct ICompatibilityPage
00081 {
00082   /* IUnknown fields */
00083   ifaceICompatibilityPageVbtl* lpVtbl;
00084   LONG ref;
00085   /* ICompatibilityPage fields */
00086   TCHAR szFile[MAX_PATH + 1];
00087   BOOL Changed;
00088 
00089   PCITEM CItems;
00090   PCITEM CSelectedItem;
00091   UINT nItems;
00092 } COMPATIBILITYPAGE;
00093 
00094 /* IUnknown */
00095 HRESULT STDMETHODCALLTYPE ICompatibilityPage_fnQueryInterface(LPCOMPATIBILITYPAGE this,
00096                                                               REFIID iid,
00097                                                               PVOID *pvObject);
00098 ULONG STDMETHODCALLTYPE ICompatibilityPage_fnAddRef(LPCOMPATIBILITYPAGE this);
00099 ULONG STDMETHODCALLTYPE ICompatibilityPage_fnRelease(LPCOMPATIBILITYPAGE this);
00100 
00101 /* IShellPropSheetExt */
00102 HRESULT STDMETHODCALLTYPE ICompatibilityPage_fnAddPages(LPCOMPATIBILITYPAGE this,
00103                                                         LPFNADDPROPSHEETPAGE lpfnAddPage,
00104                                                         LPARAM lParam);
00105 HRESULT STDMETHODCALLTYPE ICompatibilityPage_fnReplacePage(LPCOMPATIBILITYPAGE this,
00106                                                            UINT uPageID,
00107                                                            LPFNADDPROPSHEETPAGE lpfnReplacePage,
00108                                                            LPARAM lParam);
00109 /* IShellExtInit */
00110 HRESULT STDMETHODCALLTYPE ICompatibilityPage_fnInitialize(LPCOMPATIBILITYPAGE this,
00111                                                           LPCITEMIDLIST pidlFolder,
00112                                                           IDataObject *pdtobj,
00113                                                           HKEY hkeyProgID);
00114 /* IClassFactory */
00115 HRESULT STDMETHODCALLTYPE ICompatibilityPage_fnCreateInstance(LPCOMPATIBILITYPAGE this,
00116                                                               LPUNKNOWN pUnkOuter,
00117                                                               REFIID riid,
00118                                                               PVOID *ppvObject);
00119 HRESULT STDMETHODCALLTYPE ICompatibilityPage_fnLockServer(LPCOMPATIBILITYPAGE this,
00120                                                           BOOL fLock);
00121 
00122 /* EOF */

Generated on Sun May 27 2012 04:22:36 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.