Author: gedmurphy Date: Thu May 1 04:39:37 2008 New Revision: 33207
URL: http://svn.reactos.org/svn/reactos?rev=33207&view=rev Log: - Add IShellView2 and IShellView3 COM interfaces - Add IBandSite interface - Add COM object typedefs and #defines to shtypes.idl
Modified: trunk/reactos/base/shell/explorer-new/todo.h trunk/reactos/include/psdk/shlobj.h trunk/reactos/include/psdk/shobjidl.idl trunk/reactos/include/psdk/shtypes.idl trunk/reactos/lib/sdk/uuid/uuid.c
Modified: trunk/reactos/base/shell/explorer-new/todo.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/explorer-new/tod... ============================================================================== --- trunk/reactos/base/shell/explorer-new/todo.h [iso-8859-1] (original) +++ trunk/reactos/base/shell/explorer-new/todo.h [iso-8859-1] Thu May 1 04:39:37 2008 @@ -46,145 +46,6 @@ #define IDeskBarClient_GetSize(T,a,b) (T)->lpVtbl->GetSize(T,a,b) #endif
-#include <pshpack8.h> -typedef struct -{ - DWORD dwMask; - DWORD dwState; - DWORD dwStyle; -} BANDSITEINFO; -#include <poppack.h> - -#define BSIM_STATE 0x1 -#define BSIM_STYLE 0x2 - -#define BSIS_AUTOGRIPPER 0x0 -#define BSIS_NOGRIPPER 0x1 -#define BSIS_ALWAYSGRIPPER 0x2 -#define BSIS_LOCKED 0x100 - -#define BSSF_UNDELETEABLE 0x1000 - -DEFINE_GUID(IID_IBandSite, 0x4CF504B0, 0xDE96, 0x11D0, 0x8B, 0x3F, 0x00, 0xA0, 0xC9, 0x11, 0xE8, 0xE5); - -#define INTERFACE IBandSite -DECLARE_INTERFACE_(IBandSite,IUnknown) -{ - /*** IUnknown methods ***/ - STDMETHOD_(HRESULT,QueryInterface) (THIS_ REFIID riid, void** ppvObject) PURE; - STDMETHOD_(ULONG,AddRef) (THIS) PURE; - STDMETHOD_(ULONG,Release) (THIS) PURE; - /*** IBandSite methods ***/ - STDMETHOD_(HRESULT,AddBand) (THIS_ IUnknown *punk) PURE; - STDMETHOD_(HRESULT,EnumBands) (THIS_ UINT uBand, DWORD *pdwBandID) PURE; - STDMETHOD_(HRESULT,QueryBand) (THIS_ DWORD dwBandID, IDeskBand **ppstb, DWORD *pdwState, LPWSTR pszName, int cchName) PURE; - STDMETHOD_(HRESULT,SetBandState) (THIS_ DWORD dwBandID, DWORD dwMask, DWORD dwState) PURE; - STDMETHOD_(HRESULT,RemoveBand) (THIS_ DWORD dwBandID) PURE; - STDMETHOD_(HRESULT,GetBandObject) (THIS_ DWORD dwBandID, REFIID riid, VOID **ppv) PURE; - STDMETHOD_(HRESULT,SetBandSiteInfo) (THIS_ const BANDSITEINFO *pbsinfo) PURE; - STDMETHOD_(HRESULT,GetBandSiteInfo) (THIS_ BANDSITEINFO *pbsinfo) PURE; -}; -#undef INTERFACE - -#if defined(COBJMACROS) -/*** IUnknown methods ***/ -#define IBandSite_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) -#define IBandSite_AddRef(p) (p)->lpVtbl->AddRef(p) -#define IBandSite_Release(p) (p)->lpVtbl->Release(p) -/*** IBandSite methods ***/ -#define IBandSite_AddBand(p,a) (p)->lpVtbl->AddBand(p,a) -#define IBandSite_EnumBands(p,a,b) (p)->lpVtbl->EnumBands(p,a,b) -#define IBandSite_QueryBand(p,a,b,c,d,e) (p)->lpVtbl->QueryBand(p,a,b,c,d,e) -#define IBandSite_SetBandState(p,a,b,c) (p)->lpVtbl->SetBandState(p,a,b,c) -#define IBandSite_RemoveBand(p,a) (p)->lpVtbl->RemoveBand(p,a) -#define IBandSite_GetBandObject(p,a,b,c) (p)->lpVtbl->GetBandObject(p,a,b,c) -#define IBandSite_SetBandSiteInfo(p,a) (p)->lpVtbl->SetBandSiteInfo(p,a) -#define IBandSite_GetBandSiteInfo(p,a) (p)->lpVtbl->GetBandSiteInfo(p,a) -#endif - -#include <pshpack8.h> -typedef struct _SV2CVW2_PARAMS -{ - DWORD cbSize; - IShellView *psvPrev; - LPCFOLDERSETTINGS pfs; - IShellBrowser *psbOwner; - RECT *prcView; - SHELLVIEWID const *pvid; - HWND hwndView; -} SV2CVW2_PARAMS, *LPSV2CVW2_PARAMS; -#include <poppack.h> - -typedef ITEMIDLIST ITEMID_CHILD; -#define PITEMID_CHILD LPITEMIDLIST -typedef const ITEMID_CHILD /* __unaligned */ *PCUITEMID_CHILD; - -enum tagSV3CVW3 -{ - SV3CVW3_DEFAULT = 0x0, - SV3CVW3_NONINTERACTIVE = 0x1, - SV3CVW3_FORCEVIEWMODE = 0x2, - SV3CVW3_FORCEFOLDERFLAGS = 0x4 -} ; -typedef DWORD SV3CVW3_FLAGS; -#define INTERFACE IShellView3 -DECLARE_INTERFACE_(IShellView3,IShellView) -{ - - STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; - STDMETHOD_(ULONG,AddRef)(THIS) PURE; - STDMETHOD_(ULONG,Release)(THIS) PURE; - STDMETHOD(GetWindow)(THIS_ HWND*) PURE; - STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE; - STDMETHOD(TranslateAccelerator) (THIS_ LPMSG) PURE; -#ifdef _FIX_ENABLEMODELESS_CONFLICT - STDMETHOD(EnableModelessSV)(THIS_ BOOL) PURE; -#else - STDMETHOD(EnableModeless)(THIS_ BOOL) PURE; -#endif - STDMETHOD(UIActivate)(THIS_ UINT) PURE; - STDMETHOD(Refresh) (THIS) PURE; - STDMETHOD(CreateViewWindow)(THIS_ IShellView*,LPCFOLDERSETTINGS,LPSHELLBROWSER,RECT*,HWND*) PURE; - STDMETHOD(DestroyViewWindow)(THIS) PURE; - STDMETHOD(GetCurrentInfo)(THIS_ LPFOLDERSETTINGS) PURE; - STDMETHOD(AddPropertySheetPages)(THIS_ DWORD,LPFNADDPROPSHEETPAGE,LPARAM) PURE; - STDMETHOD(SaveViewState)(THIS) PURE; - STDMETHOD(SelectItem)(THIS_ LPCITEMIDLIST,UINT) PURE; - STDMETHOD(GetItemObject)(THIS_ UINT,REFIID,PVOID*) PURE; - STDMETHOD(GetView)(THIS_ SHELLVIEWID*,ULONG) PURE; - STDMETHOD(CreateViewWindow2)(THIS_ LPSV2CVW2_PARAMS) PURE; - STDMETHOD(HandleRename)(THIS_ PCUITEMID_CHILD) PURE; - STDMETHOD(SelectAndPositionItem)(THIS_ PCUITEMID_CHILD,UINT,POINT*) PURE; - STDMETHOD(CreateViewWindow3)(THIS_ IShellBrowser*,IShellView*,SV3CVW3_FLAGS,FOLDERFLAGS,FOLDERFLAGS,FOLDERVIEWMODE,const SHELLVIEWID*,const RECT*,HWND*) PURE; -}; -#undef INTERFACE -#ifdef COBJMACROS -#define IShellView3_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b) -#define IShellView3_AddRef(T) (T)->lpVtbl->AddRef(T) -#define IShellView3_Release(T) (T)->lpVtbl->Release(T) -#define IShellView3_GetWindow(T,a) (T)->lpVtbl->GetWindow(T,a) -#define IShellView3_ContextSensitiveHelp(T,a) (T)->lpVtbl->ContextSensitiveHelp(T,a) -#define IShellView3_TranslateAccelerator(T,a) (T)->lpVtbl->TranslateAccelerator(T,a) -#ifdef _FIX_ENABLEMODELESS_CONFLICT -#define IShellView3_EnableModeless(T,a) (T)->lpVtbl->EnableModelessSV(T,a) -#else -#define IShellView3_EnableModeless(T,a) (T)->lpVtbl->EnableModeless(T,a) -#endif -#define IShellView3_UIActivate(T,a) (T)->lpVtbl->UIActivate(T,a) -#define IShellView3_Refresh(T) (T)->lpVtbl->Refresh(T) -#define IShellView3_CreateViewWindow(T,a,b,c,d,e) (T)->lpVtbl->CreateViewWindow(T,a,b,c,d,e) -#define IShellView3_DestroyViewWindow(T) (T)->lpVtbl->DestroyViewWindow(T) -#define IShellView3_GetCurrentInfo(T,a) (T)->lpVtbl->GetCurrentInfo(T,a) -#define IShellView3_AddPropertySheetPages(T,a,b,c) (T)->lpVtbl->AddPropertySheetPages(T,a,b,c) -#define IShellView3_SaveViewState(T) (T)->lpVtbl->SaveViewState(T) -#define IShellView3_SelectItem(T,a,b) (T)->lpVtbl->SelectItem(T,a,b) -#define IShellView3_GetItemObject(T,a,b,c) (T)->lpVtbl->GetItemObject(T,a,b,c) -#define IShellView3_GetView(T,a,b) (T)->lpVtbl->GetView(T,a,b) -#define IShellView3_CreateViewWindow2(T,a) (T)->lpVtbl->CreateViewWindow2(T,a) -#define IShellView3_HandleRename(T,a) (T)->lpVtbl->HandleRename(T,a) -#define IShellView3_SelectAndPositionItem(T,a,b,c) (T)->lpVtbl->SelectAndPositionItem(T,a,b,c) -#define IShellView3_CreateViewWindow3(T,a,b,c,d,e,f,g,h,i) (T)->lpVtbl->CreateViewWindow3(T,a,b,c,d,e,f,g,h,i) -#endif
#define SHGVSPB_PERUSER 0x1 #define SHGVSPB_PERFOLDER 0x4 @@ -192,7 +53,6 @@ #define SHGVSPB_NOAUTODEFAULTS 0x80000000 #define SHGVSPB_FOLDER (SHGVSPB_PERUSER | SHGVSPB_PERFOLDER) #define SHGVSPB_FOLDERNODEFAULTS (SHGVSPB_PERUSER | SHGVSPB_PERFOLDER | SHGVSPB_NOAUTODEFAULTS) -
#define DBC_SHOW 1
Modified: trunk/reactos/include/psdk/shlobj.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/shlobj.h?rev=3... ============================================================================== --- trunk/reactos/include/psdk/shlobj.h [iso-8859-1] (original) +++ trunk/reactos/include/psdk/shlobj.h [iso-8859-1] Thu May 1 04:39:37 2008 @@ -145,7 +145,6 @@ * IShellView interface */
-typedef GUID SHELLVIEWID; #define SV_CLASS_NAME ("SHELLDLL_DefView")
#define FCIDM_SHVIEWFIRST 0x0000
Modified: trunk/reactos/include/psdk/shobjidl.idl URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/shobjidl.idl?r... ============================================================================== --- trunk/reactos/include/psdk/shobjidl.idl [iso-8859-1] (original) +++ trunk/reactos/include/psdk/shobjidl.idl [iso-8859-1] Thu May 1 04:39:37 2008 @@ -388,7 +388,7 @@ /***************************************************************************** * IShellView interface */ -interface IShellBrowser; /* forward declaration */ +interface IShellBrowser; [ object, uuid(000214e3-0000-0000-c000-000000000046), @@ -412,7 +412,7 @@
typedef UINT SVSIF;
- typedef enum + typedef enum tagSVGIO { SVGIO_BACKGROUND = 0x00000000, SVGIO_SELECTION = 0x00000001, @@ -422,7 +422,7 @@ SVGIO_FLAG_VIEWORDER = 0x80000000, } SVGIO;
- typedef enum + typedef enum tagSVUIA_STATUS { SVUIA_DEACTIVATE = 0, SVUIA_ACTIVATE_NOFOCUS = 1, @@ -457,6 +457,80 @@ [in] UINT uItem, [in] REFIID riid, [out, iid_is(riid)] void **ppv); +} + + +[ + uuid(88E39E80-3578-11CF-AE69-08002B2E1262), + object, + pointer_default(unique) +] +interface IShellView2 : IShellView +{ + typedef GUID SHELLVIEWID; + + cpp_quote("#define SV2GV_CURRENTVIEW ((UINT)-1)") + cpp_quote("#define SV2GV_DEFAULTVIEW ((UINT)-2)") + + cpp_quote("#include <pshpack8.h>") + typedef struct _SV2CVW2_PARAMS + { + DWORD cbSize; + + IShellView *psvPrev; + LPCFOLDERSETTINGS pfs; + IShellBrowser *psbOwner; + RECT *prcView; + SHELLVIEWID const *pvid; + HWND hwndView; + + } SV2CVW2_PARAMS, *LPSV2CVW2_PARAMS; + + cpp_quote("#include <poppack.h>") + + HRESULT GetView( + [in, out] SHELLVIEWID* pvid, + [in] ULONG uView); + + HRESULT CreateViewWindow2( + [in] LPSV2CVW2_PARAMS lpParams); + + HRESULT HandleRename( + [in, unique] PCUITEMID_CHILD pidlNew); + + HRESULT SelectAndPositionItem( + [in] PCUITEMID_CHILD pidlItem, + [in] UINT uFlags, + [in, unique] POINT *ppt); +} + + +[ + uuid(ec39fa88-f8af-41c5-8421-38bed28f4673), + object, + pointer_default(unique) +] +interface IShellView3 : IShellView2 +{ + enum tagSV3CVW3 + { + SV3CVW3_DEFAULT = 0x00000000, + SV3CVW3_NONINTERACTIVE = 0x00000001, + SV3CVW3_FORCEVIEWMODE = 0x00000002, + SV3CVW3_FORCEFOLDERFLAGS = 0x00000004, + }; + typedef DWORD SV3CVW3_FLAGS; + + HRESULT CreateViewWindow3( + [in] IShellBrowser *psbOwner, + [in, unique] IShellView *psvPrev, + [in] SV3CVW3_FLAGS dwViewFlags, + [in] FOLDERFLAGS dwMask, + [in] FOLDERFLAGS dwFlags, + [in] FOLDERVIEWMODE fvMode, + [in, unique] const SHELLVIEWID *pvid, + [in] const RECT *prcView, + [out] HWND *phwndView); }
@@ -1583,3 +1657,91 @@ }
cpp_quote("#endif /* _WIN32_IE_IE60 */") + +cpp_quote("#if (_WIN32_IE >= _WIN32_IE_IE40)") + +/***************************************************************************** + * IBandSite interface + */ +cpp_quote("#include <pshpack8.h>") + +typedef struct tagBANDSITEINFO +{ + DWORD dwMask; + DWORD dwState; + DWORD dwStyle; +} BANDSITEINFO; + +cpp_quote("#include <poppack.h>") + + +enum tagBANDSITECID { + BSID_BANDADDED, + BSID_BANDREMOVED, +}; + +cpp_quote("#define BSIM_STATE 0x00000001") +cpp_quote("#define BSIM_STYLE 0x00000002") + +cpp_quote("#define BSSF_VISIBLE 0x00000001") +cpp_quote("#define BSSF_NOTITLE 0x00000002") +cpp_quote("#define BSSF_UNDELETEABLE 0x00001000") + +cpp_quote("#define BSIS_AUTOGRIPPER 0x00000000") +cpp_quote("#define BSIS_NOGRIPPER 0x00000001") +cpp_quote("#define BSIS_ALWAYSGRIPPER 0x00000002") +cpp_quote("#define BSIS_LEFTALIGN 0x00000004") +cpp_quote("#define BSIS_SINGLECLICK 0x00000008") +cpp_quote("#define BSIS_NOCONTEXTMENU 0x00000010") +cpp_quote("#define BSIS_NODROPTARGET 0x00000020") +cpp_quote("#define BSIS_NOCAPTION 0x00000040") +cpp_quote("#define BSIS_PREFERNOLINEBREAK 0x00000080") +cpp_quote("#define BSIS_LOCKED 0x00000100") +cpp_quote("#if (_WIN32_IE >= _WIN32_IE_IE70)") +cpp_quote("#define BSIS_PRESERVEORDERDURINGLAYOUT 0x00000200") +cpp_quote("#endif /* _WIN32_IE_IE70 */") + +cpp_quote("#define SID_SBandSite IID_IBandSite") +cpp_quote("#define CGID_BandSite IID_IBandSite") + +[ + object, + uuid(4CF504B0-DE96-11D0-8B3F-00A0C911E8E5) +] +interface IBandSite : IUnknown +{ + HRESULT AddBand([in] IUnknown* punk); + + HRESULT EnumBands( + [in] UINT uBand, + [out] DWORD* pdwBandID); + + HRESULT QueryBand( + [in] DWORD dwBandID, + [out] IDeskBand** ppstb, + [out] DWORD* pdwState, + [out, string, size_is(cchName)] LPWSTR pszName, + [in] int cchName); + + HRESULT SetBandState( + [in] DWORD dwBandID, + [in] DWORD dwMask, + [in] DWORD dwState); + + HRESULT RemoveBand([in] DWORD dwBandID); + + HRESULT GetBandObject( + [in] DWORD dwBandID, + [in] REFIID riid, + [out, iid_is(riid)] void **ppv); + + HRESULT SetBandSiteInfo([in] const BANDSITEINFO *pbsinfo); + + HRESULT GetBandSiteInfo([in, out] BANDSITEINFO *pbsinfo); +} + +cpp_quote("#endif /* _WIN32_IE_IE40 */") + + + +
Modified: trunk/reactos/include/psdk/shtypes.idl URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/shtypes.idl?re... ============================================================================== --- trunk/reactos/include/psdk/shtypes.idl [iso-8859-1] (original) +++ trunk/reactos/include/psdk/shtypes.idl [iso-8859-1] Thu May 1 04:39:37 2008 @@ -21,6 +21,8 @@
import "wtypes.idl";
+ + cpp_quote("#include <pshpack1.h>") typedef struct { @@ -32,9 +34,59 @@ typedef struct _ITEMIDLIST { SHITEMID mkid; /* first itemid in list */ -} ITEMIDLIST,*LPITEMIDLIST; -typedef const ITEMIDLIST *LPCITEMIDLIST; +} ITEMIDLIST; + +cpp_quote("#if defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus)") +cpp_quote("typedef struct _ITEMIDLIST_RELATIVE : ITEMIDLIST {} ITEMIDLIST_RELATIVE;") +cpp_quote("typedef struct _ITEMID_CHILD : ITEMIDLIST_RELATIVE {} ITEMID_CHILD;") +cpp_quote("typedef struct _ITEMIDLIST_ABSOLUTE : ITEMIDLIST_RELATIVE {} ITEMIDLIST_ABSOLUTE;") +cpp_quote("#else /* !(defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus)) */") +typedef ITEMIDLIST ITEMIDLIST_RELATIVE; +typedef ITEMIDLIST ITEMID_CHILD; +typedef ITEMIDLIST ITEMIDLIST_ABSOLUTE; +cpp_quote("#endif /* defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus) */") + cpp_quote("#include <poppack.h>") + +typedef [unique] BYTE_BLOB * wirePIDL; +typedef ITEMIDLIST /*__unaligned*/ * LPITEMIDLIST; +typedef const ITEMIDLIST /*__unaligned*/ * LPCITEMIDLIST; + +cpp_quote("#if defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus)") +typedef ITEMIDLIST_ABSOLUTE * PIDLIST_ABSOLUTE; +typedef const ITEMIDLIST_ABSOLUTE * PCIDLIST_ABSOLUTE; +typedef const ITEMIDLIST_ABSOLUTE /*__unaligned*/ * PCUIDLIST_ABSOLUTE; +typedef ITEMIDLIST_RELATIVE * PIDLIST_RELATIVE; +typedef const ITEMIDLIST_RELATIVE * PCIDLIST_RELATIVE; +typedef ITEMIDLIST_RELATIVE /*__unaligned*/ * PUIDLIST_RELATIVE; +typedef const ITEMIDLIST_RELATIVE /*__unaligned*/ * PCUIDLIST_RELATIVE; +typedef ITEMID_CHILD * PITEMID_CHILD; +typedef const ITEMID_CHILD * PCITEMID_CHILD; +typedef ITEMID_CHILD /*__unaligned*/ * PUITEMID_CHILD; +typedef const ITEMID_CHILD /*__unaligned*/ * PCUITEMID_CHILD; + +typedef PCUITEMID_CHILD const *PCUITEMID_CHILD_ARRAY; +typedef PCUIDLIST_RELATIVE const *PCUIDLIST_RELATIVE_ARRAY; +typedef PCIDLIST_ABSOLUTE const *PCIDLIST_ABSOLUTE_ARRAY; +typedef PCUIDLIST_ABSOLUTE const *PCUIDLIST_ABSOLUTE_ARRAY; +cpp_quote("#else // !(defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus))") +cpp_quote("#define PIDLIST_ABSOLUTE LPITEMIDLIST") +cpp_quote("#define PCIDLIST_ABSOLUTE LPCITEMIDLIST") +cpp_quote("#define PCUIDLIST_ABSOLUTE LPCITEMIDLIST") +cpp_quote("#define PIDLIST_RELATIVE LPITEMIDLIST") +cpp_quote("#define PCIDLIST_RELATIVE LPCITEMIDLIST") +cpp_quote("#define PUIDLIST_RELATIVE LPITEMIDLIST") +cpp_quote("#define PCUIDLIST_RELATIVE LPCITEMIDLIST") +cpp_quote("#define PITEMID_CHILD LPITEMIDLIST") +cpp_quote("#define PCITEMID_CHILD LPCITEMIDLIST") +cpp_quote("#define PUITEMID_CHILD LPITEMIDLIST") +cpp_quote("#define PCUITEMID_CHILD LPCITEMIDLIST") +cpp_quote("#define PCUITEMID_CHILD_ARRAY LPCITEMIDLIST *") +cpp_quote("#define PCUIDLIST_RELATIVE_ARRAY LPCITEMIDLIST *") +cpp_quote("#define PCIDLIST_ABSOLUTE_ARRAY LPCITEMIDLIST *") +cpp_quote("#define PCUIDLIST_ABSOLUTE_ARRAY LPCITEMIDLIST *") +cpp_quote("#endif // defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus)") +
#ifndef MAX_PATH #define MAX_PATH 260
Modified: trunk/reactos/lib/sdk/uuid/uuid.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/sdk/uuid/uuid.c?rev=332... ============================================================================== --- trunk/reactos/lib/sdk/uuid/uuid.c [iso-8859-1] (original) +++ trunk/reactos/lib/sdk/uuid/uuid.c [iso-8859-1] Thu May 1 04:39:37 2008 @@ -122,5 +122,4 @@ DEFINE_GUID(CLSID_StdEvent, 0x0000032b,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46); DEFINE_GUID(CLSID_ManualResetEvent, 0x0000032c,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46); DEFINE_GUID(CLSID_SynchronizeContainer, 0x0000032d,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46); -DEFINE_GUID(IID_IBandSite, 0x4CF504B0, 0xDE96, 0x11D0, 0x8B, 0x3F, 0x00, 0xA0, 0xC9, 0x11, 0xE8, 0xE5); DEFINE_GUID(CLSID_RebarBandSite, 0xECD4FC4D, 0x521C, 0x11D0, 0xB7, 0x92, 0x00, 0xA0, 0xC9, 0x03, 0x12, 0xE1);