Start to fix some COM interfaces which will be used by the new explorer shell

svn path=/trunk/; revision=33204
This commit is contained in:
Ged Murphy 2008-05-01 07:39:21 +00:00
parent 9ab11b5a2d
commit 90985d2f94
6 changed files with 136 additions and 95 deletions

View file

@ -33,17 +33,6 @@ static const GUID SID_HACK_SMenuPopup = {0xD1E7AFEB,0x6A2E,0x11D0,{0x8C,0x78,0x0
#ifdef COBJMACROS
#define IDockingWindow_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
#define IDockingWindow_AddRef(T) (T)->lpVtbl->AddRef(T)
#define IDockingWindow_Release(T) (T)->lpVtbl->Release(T)
#define IDockingWindow_GetWindow(T,a) (T)->lpVtbl->GetWindow(T,a)
#define IDockingWindow_ContextSensitiveHelp(T,a) (T)->lpVtbl->ContextSensitiveHelp(T,a)
#define IDockingWindow_ShowDW(T,a) (T)->lpVtbl->ShowDW(T,a)
#define IDockingWindow_CloseDW(T,a) (T)->lpVtbl->CloseDW(T,a)
#define IDockingWindow_ResizeBorderDW(T,a,b,c) (T)->lpVtbl->ResizeBorderDW(T,a,b,c)
#endif
#ifdef COBJMACROS
#define IDeskBarClient_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
@ -57,55 +46,6 @@ static const GUID SID_HACK_SMenuPopup = {0xD1E7AFEB,0x6A2E,0x11D0,{0x8C,0x78,0x0
#define IDeskBarClient_GetSize(T,a,b) (T)->lpVtbl->GetSize(T,a,b)
#endif
#define DBIM_TITLE 0x10
#define DBIMF_VARIABLEHEIGHT 0x8
#define DBIMF_DEBOSSED 0x20
#define DBIF_VIEWMODE_VERTICAL 0x1
#include <pshpack8.h>
typedef struct tagDESKBANDINFO
{
DWORD dwMask;
POINTL ptMinSize;
POINTL ptMaxSize;
POINTL ptIntegral;
POINTL ptActual;
WCHAR wszTitle[256];
DWORD dwModeFlags;
COLORREF crBkgnd;
} DESKBANDINFO;
#include <poppack.h>
#define INTERFACE IDeskBand
DECLARE_INTERFACE_(IDeskBand,IUnknown)
{
/*** IUnknown methods ***/
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
/*** IOleWindow methods ***/
STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND*) PURE;
STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL) PURE;
/*** IDockingWindow methods ***/
STDMETHOD_(HRESULT,ShowDW)(THIS_ BOOL) PURE;
STDMETHOD_(HRESULT,CloseDW)(THIS_ DWORD) PURE;
STDMETHOD_(HRESULT,ResizeBoderDW)(THIS_ LPCRECT,IUnknown*,BOOL) PURE;
/*** IDeskBand methods ***/
STDMETHOD_(HRESULT,GetBandInfo)(THIS_ DWORD,DWORD,DESKBANDINFO*) PURE;
};
#undef INTERFACE
#ifdef COBJMACROS
#define IDeskBand_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
#define IDeskBand_AddRef(T) (T)->lpVtbl->AddRef(T)
#define IDeskBand_Release(T) (T)->lpVtbl->Release(T)
#define IDeskBand_GetWindow(T,a) (T)->lpVtbl->GetWindow(T,a)
#define IDeskBand_ContextSensitiveHelp(T,a) (T)->lpVtbl->ContextSensitiveHelp(T,a)
#define IDeskBand_ShowDW(T,a) (T)->lpVtbl->ShowDW(T,a)
#define IDeskBand_CloseDW(T,a) (T)->lpVtbl->CloseDW(T,a)
#define IDeskBand_ResizeBorderDW(T,a,b,c) (T)->lpVtbl->ResizeBorderDW(T,a,b,c)
#define IDeskBand_GetBandInfo(T,a,b,c) (T)->lpVtbl->GetBandInfo(T,a,b,c)
#endif
#define INTERFACE IDeskBar
DECLARE_INTERFACE_(IDeskBar,IUnknown)
@ -283,20 +223,6 @@ DECLARE_INTERFACE_(IShellView3,IShellView)
#define SHGVSPB_FOLDERNODEFAULTS (SHGVSPB_PERUSER | SHGVSPB_PERFOLDER | SHGVSPB_NOAUTODEFAULTS)
/*
* DeskBand Command IDs
*/
enum tagDESKBANDCID
{
DBID_BANDINFOCHANGED = 0,
DBID_SHOWONLY,
DBID_MAXIMIZEBAND,
DBID_PUSHCHEVRON,
DBID_DELAYINIT,
DBID_FINISHINIT,
DBID_SETWINDOWTHEME,
DBID_PERMITAUTOHIDE
};
#define DBC_SHOW 1
#define DBC_HIDE 0

View file

@ -18,7 +18,7 @@
#ifndef __RPCNDR_H_VERSION__
/* FIXME: What version? Perhaps something is better than nothing, however incorrect */
#define __RPCNDR_H_VERSION__ ( 399 )
#define __RPCNDR_H_VERSION__ ( 500 )
#endif
#ifndef __WINE_RPCNDR_H

View file

@ -97,7 +97,6 @@ DEFINE_GUID(SID_STopLevelBrowser, 0x4C96BE40L, 0x915C, 0x11CF, 0x99, 0xD3, 0x00,
#define IID_IShellExecuteHook WINELIB_NAME_AW(IID_IShellExecuteHook)
#define IID_INewShortcutHook WINELIB_NAME_AW(IID_INewShortcutHook)
DEFINE_GUID(IID_IDockingWindow, 0x012dd920L, 0x7B26, 0x11D0, 0x8C, 0xA9, 0x00, 0xA0, 0xC9, 0x2D, 0xBF, 0xE8);
DEFINE_GUID(IID_IDockingWindowSite, 0x2A342FC2L, 0x7B26, 0x11D0, 0x8C, 0xA9, 0x00, 0xA0, 0xC9, 0x2D, 0xBF, 0xE8);
DEFINE_GUID(IID_IInputObject, 0x068284FAA, 0x6A48, 0x11D0, 0x8C, 0x78, 0x00, 0xC0, 0x4F, 0xD9, 0x18, 0xB4);
DEFINE_GUID(IID_IInputObjectSite, 0x0F1DB8392, 0x7331, 0x11D0, 0x8C, 0x99, 0x00, 0xA0, 0xC9, 0x2D, 0xBF, 0xE8);

View file

@ -423,24 +423,6 @@ DECLARE_INTERFACE_(IProgressDialog,IUnknown)
#define IProgressDialog_Timer(p,a,b) (p)->lpVtbl->Timer(p,a,b)
#endif
/* IDockingWindowFrame interface */
#define INTERFACE IDockingWindow
DECLARE_INTERFACE_(IDockingWindow,IUnknown)
{
/*** IUnknown methods ***/
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
STDMETHOD_(ULONG,Release)(THIS) PURE;
/*** IOleWindow methods ***/
STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND*) PURE;
STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL) PURE;
/*** IDockingWindow methods ***/
STDMETHOD_(HRESULT,ShowDW)(THIS_ BOOL) PURE;
STDMETHOD_(HRESULT,CloseDW)(THIS_ DWORD) PURE;
STDMETHOD_(HRESULT,ResizeBoderDW)(THIS_ LPCRECT,IUnknown*,BOOL) PURE;
};
#undef INTERFACE
/* IDeskBarClient interface */
#define INTERFACE IDeskBarClient

View file

@ -1375,3 +1375,138 @@ interface IDefaultExtractIconInit : IUnknown
[in] LPCWSTR pszFile,
[in] int iIcon);
}
/*****************************************************************************
* IDockingWindow interface
*/
[
uuid(012dd920-7b26-11d0-8ca9-00a0c92dbfe8),
object
]
interface IDockingWindow : IOleWindow
{
HRESULT ShowDW([in] BOOL fShow);
HRESULT CloseDW([in] DWORD dwReserved);
HRESULT ResizeBorderDW(
[in] LPCRECT prcBorder,
[in] IUnknown* punkToolbarSite,
[in] BOOL fReserved);
}
/*****************************************************************************
* IDeskBand interface
*/
cpp_quote("#define DBIM_MINSIZE 0x0001")
cpp_quote("#define DBIM_MAXSIZE 0x0002")
cpp_quote("#define DBIM_INTEGRAL 0x0004")
cpp_quote("#define DBIM_ACTUAL 0x0008")
cpp_quote("#define DBIM_TITLE 0x0010")
cpp_quote("#define DBIM_MODEFLAGS 0x0020")
cpp_quote("#define DBIM_BKCOLOR 0x0040")
cpp_quote("#include <pshpack8.h>")
typedef struct tagDESKBANDINFO
{
DWORD dwMask;
POINTL ptMinSize;
POINTL ptMaxSize;
POINTL ptIntegral;
POINTL ptActual;
WCHAR wszTitle[256];
DWORD dwModeFlags;
COLORREF crBkgnd;
} DESKBANDINFO;
cpp_quote("#include <poppack.h>")
cpp_quote("#define DBIMF_NORMAL 0x0000")
cpp_quote("#define DBIMF_FIXED 0x0001")
cpp_quote("#define DBIMF_FIXEDBMP 0x0004 // a fixed background bitmap (if supported)")
cpp_quote("#define DBIMF_VARIABLEHEIGHT 0x0008")
cpp_quote("#define DBIMF_UNDELETEABLE 0x0010")
cpp_quote("#define DBIMF_DEBOSSED 0x0020")
cpp_quote("#define DBIMF_BKCOLOR 0x0040")
cpp_quote("#define DBIMF_USECHEVRON 0x0080")
cpp_quote("#define DBIMF_BREAK 0x0100")
cpp_quote("#define DBIMF_ADDTOFRONT 0x0200")
cpp_quote("#define DBIMF_TOPALIGN 0x0400")
cpp_quote("#if (NTDDI_VERSION >= NTDDI_LONGHORN)")
cpp_quote("#define DBIMF_NOGRIPPER 0x0800")
cpp_quote("#define DBIMF_ALWAYSGRIPPER 0x1000")
cpp_quote("#define DBIMF_NOMARGINS 0x2000")
cpp_quote("#endif // NTDDI_LONGHORN")
cpp_quote("#define DBIF_VIEWMODE_NORMAL 0x0000")
cpp_quote("#define DBIF_VIEWMODE_VERTICAL 0x0001")
cpp_quote("#define DBIF_VIEWMODE_FLOATING 0x0002")
cpp_quote("#define DBIF_VIEWMODE_TRANSPARENT 0x0004")
enum tagDESKBANDCID {
DBID_BANDINFOCHANGED = 0,
DBID_SHOWONLY = 1,
DBID_MAXIMIZEBAND = 2,
DBID_PUSHCHEVRON = 3,
DBID_DELAYINIT = 4,
DBID_FINISHINIT = 5,
DBID_SETWINDOWTHEME = 6,
DBID_PERMITAUTOHIDE = 7,
};
cpp_quote("#define DBPC_SELECTFIRST (DWORD)-1")
cpp_quote("#define DBPC_SELECTLAST (DWORD)-2")
cpp_quote("#define CGID_DeskBand IID_IDeskBand")
[
uuid(EB0FE172-1A3A-11D0-89B3-00A0C90A90AC),
object,
]
interface IDeskBand : IDockingWindow
{
HRESULT GetBandInfo(
[in] DWORD dwBandID,
[in] DWORD dwViewMode,
[in, out] DESKBANDINFO* pdbi);
}
cpp_quote("#if (NTDDI_VERSION >= NTDDI_LONGHORN)")
/*****************************************************************************
* IDeskBandInfo interface
*/
[
uuid(77E425FC-CBF9-4307-BA6A-BB5727745661),
object,
]
interface IDeskBandInfo : IUnknown
{
HRESULT GetDefaultBandWidth(
[in] DWORD dwBandID,
[in] DWORD dwViewMode,
[out] int *pnWidth);
}
/*****************************************************************************
* IDeskBand2 interface
*/
[
uuid(79D16DE4-ABEE-4021-8D9D-9169B261D657),
object,
]
interface IDeskBand2 : IDeskBand
{
HRESULT CanRenderComposited([out] BOOL *pfCanRenderComposited);
HRESULT SetCompositionState([in] BOOL fCompositionEnabled);
HRESULT GetCompositionState([out] BOOL *pfCompositionEnabled);
}
cpp_quote("#endif // NTDDI_LONGHORN")

View file

@ -124,4 +124,3 @@ DEFINE_GUID(CLSID_ManualResetEvent, 0x0000032c,0x0000,0x0000,0xc0,0x00,0x0
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);
DEFINE_GUID(IID_IDeskBand, 0xEB0FE172, 0x1A3A, 0x11D0, 0x89, 0xB3, 0x00, 0xA0, 0xC9, 0x0A, 0x90, 0xAC);