mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 20:05:41 +00:00
- Add IMenuBand COM interface
- Add IInitializeObject and IBanneredBar COM interfaces. Manually add the members, which is a bit of a hack. We need to fix DECLARE_INTERFACE_IID_ to pre-register interfaces - explorer_new no longer has redefinition errors when attempting to build with msvc9 svn path=/trunk/; revision=33209
This commit is contained in:
parent
632784d080
commit
f30abc5fe4
5 changed files with 80 additions and 77 deletions
|
@ -80,7 +80,7 @@ DECLARE_INTERFACE_(IShellService,IUnknown)
|
|||
#define IShellService_SetOwner(T,a) (T)->lpVtbl->SetOwner(T,a)
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
#if _MSC_VER
|
||||
HRESULT WINAPI SHGetViewStatePropertyBag(LPCITEMIDLIST,LPCWSTR,DWORD,REFIID,PVOID*);/* FIXME: Parameter should be PCIDLIST_ABSOLUTE */
|
||||
#else
|
||||
typedef HRESULT (WINAPI *PSHGetViewStatePropertyBag)(LPCITEMIDLIST,LPCWSTR,DWORD,REFIID,PVOID*);
|
||||
|
@ -116,77 +116,4 @@ SHGetViewStatePropertyBag(IN LPCITEMIDLIST pidl,
|
|||
#define PIDLIST_ABSOLUTE LPITEMIDLIST
|
||||
PIDLIST_ABSOLUTE WINAPI SHCloneSpecialIDList(HWND hwnd, int csidl, BOOL fCreate);
|
||||
|
||||
enum
|
||||
{
|
||||
BMICON_LARGE = 0,
|
||||
BMICON_SMALL
|
||||
};
|
||||
#define INTERFACE IBanneredBar
|
||||
DECLARE_INTERFACE_(IBanneredBar,IUnknown)
|
||||
{
|
||||
/*** IUnknown methods ***/
|
||||
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
|
||||
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
/*** IBanneredBar methods ***/
|
||||
STDMETHOD_(HRESULT,SetIconSize)(THIS_ DWORD) PURE;
|
||||
STDMETHOD_(HRESULT,GetIconSize)(THIS_ DWORD*) PURE;
|
||||
STDMETHOD_(HRESULT,SetBitmap)(THIS_ HBITMAP) PURE;
|
||||
STDMETHOD_(HRESULT,GetBitmap)(THIS_ HBITMAP*) PURE;
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
#ifdef COBJMACROS
|
||||
#define IBanneredBar_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
|
||||
#define IBanneredBar_AddRef(T) (T)->lpVtbl->AddRef(T)
|
||||
#define IBanneredBar_Release(T) (T)->lpVtbl->Release(T)
|
||||
#define IBanneredBar_SetIconSize(T,a) (T)->lpVtbl->SetIconSize(T,a)
|
||||
#define IBanneredBar_GetIconSize(T,a) (T)->lpVtbl->GetIconSize(T,a)
|
||||
#define IBanneredBar_SetBitmap(T,a) (T)->lpVtbl->SetBitmap(T,a)
|
||||
#define IBanneredBar_GetBitmap(T,a) (T)->lpVtbl->GetBitmap(T,a)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
#define INTERFACE IMenuBand
|
||||
DECLARE_INTERFACE_(IMenuBand,IUnknown)
|
||||
{
|
||||
/*** IUnknown methods ***/
|
||||
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
|
||||
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
/*** IMenuBand methods ***/
|
||||
STDMETHOD_(HRESULT,IsMenuMessage)(THIS_ MSG*) PURE;
|
||||
STDMETHOD_(HRESULT,TranslateMenuMessage)(THIS_ MSG*,LRESULT*) PURE;
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
#ifdef COBJMACROS
|
||||
#define IMenuBand_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
|
||||
#define IMenuBand_AddRef(T) (T)->lpVtbl->AddRef(T)
|
||||
#define IMenuBand_Release(T) (T)->lpVtbl->Release(T)
|
||||
#define IMenuBand_IsMenuMessage(T,a) (T)->lpVtbl->IsMenuMessage(T,a)
|
||||
#define IMenuBand_TranslateMenuMessage(T,a,b) (T)->lpVtbl->TranslateMenuMessage(T,a,b)
|
||||
#endif
|
||||
|
||||
#define INTERFACE IInitializeObject
|
||||
DECLARE_INTERFACE_(IInitializeObject,IUnknown)
|
||||
{
|
||||
/*** IUnknown methods ***/
|
||||
STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
|
||||
STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release)(THIS) PURE;
|
||||
/*** IInitializeObject methods ***/
|
||||
STDMETHOD_(HRESULT,Initialize)(THIS) PURE;
|
||||
};
|
||||
#undef INTERFACE
|
||||
|
||||
#ifdef COBJMACROS
|
||||
#define IInitializeObject_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
|
||||
#define IInitializeObject_AddRef(T) (T)->lpVtbl->AddRef(T)
|
||||
#define IInitializeObject_Release(T) (T)->lpVtbl->Release(T)
|
||||
#define IInitializeObject_Initialize(T) (T)->lpVtbl->Initialize(T)
|
||||
#endif
|
||||
|
||||
#endif /* __TODO_H */
|
||||
|
|
|
@ -227,6 +227,8 @@
|
|||
#define interface struct
|
||||
#define DECLARE_INTERFACE(iface) interface iface
|
||||
#define DECLARE_INTERFACE_(iface,ibase) interface iface : public ibase
|
||||
#define DECLARE_INTERFACE_IID(iface, iid) interface DECLSPEC_UUID(iid) DECLSPEC_NOVTABLE iface
|
||||
#define DECLARE_INTERFACE_IID_(iface, baseiface, iid) interface DECLSPEC_UUID(iid) DECLSPEC_NOVTABLE iface : public baseiface
|
||||
|
||||
#define BEGIN_INTERFACE
|
||||
#define END_INTERFACE
|
||||
|
|
|
@ -1516,6 +1516,60 @@ HRESULT WINAPI SHOpenWithDialog(
|
|||
const OPENASINFO *poainfo
|
||||
);
|
||||
|
||||
/*****************************************************************************
|
||||
* IInitializeObject interface
|
||||
*/
|
||||
#undef INTERFACE
|
||||
#define INTERFACE IInitializeObject
|
||||
|
||||
DECLARE_INTERFACE_(IInitializeObject, IUnknown)//, "4622AD16-FF23-11d0-8D34-00A0C90F2719")
|
||||
{
|
||||
STDMETHOD(QueryInterface) (THIS_ REFIID riid, void **ppv) PURE;
|
||||
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release) (THIS) PURE;
|
||||
|
||||
STDMETHOD(Initialize)(THIS) PURE;
|
||||
};
|
||||
#undef INTERFACE
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
#define IInitializeObject_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
|
||||
#define IInitializeObject_AddRef(T) (T)->lpVtbl->AddRef(T)
|
||||
#define IInitializeObject_Release(T) (T)->lpVtbl->Release(T)
|
||||
#define IInitializeObject_Initialize(T) (T)->lpVtbl->Initialize(T)
|
||||
#endif
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IBanneredBar interface
|
||||
*/
|
||||
enum
|
||||
{
|
||||
BMICON_LARGE = 0,
|
||||
BMICON_SMALL
|
||||
};
|
||||
#define INTERFACE IBanneredBar
|
||||
DECLARE_INTERFACE_(IBanneredBar, IUnknown)//, "596A9A94-013E-11d1-8D34-00A0C90F2719")
|
||||
{
|
||||
STDMETHOD(QueryInterface) (THIS_ REFIID riid, void **ppv) PURE;
|
||||
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
|
||||
STDMETHOD_(ULONG,Release) (THIS) PURE;
|
||||
|
||||
STDMETHOD(SetIconSize)(THIS_ DWORD iIcon) PURE;
|
||||
STDMETHOD(GetIconSize)(THIS_ DWORD* piIcon) PURE;
|
||||
STDMETHOD(SetBitmap)(THIS_ HBITMAP hBitmap) PURE;
|
||||
STDMETHOD(GetBitmap)(THIS_ HBITMAP* phBitmap) PURE;
|
||||
|
||||
};
|
||||
#undef INTERFACE
|
||||
#if !defined(__cplusplus) || defined(CINTERFACE)
|
||||
#define IBanneredBar_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
|
||||
#define IBanneredBar_AddRef(T) (T)->lpVtbl->AddRef(T)
|
||||
#define IBanneredBar_Release(T) (T)->lpVtbl->Release(T)
|
||||
#define IBanneredBar_SetIconSize(T,a) (T)->lpVtbl->SetIconSize(T,a)
|
||||
#define IBanneredBar_GetIconSize(T,a) (T)->lpVtbl->GetIconSize(T,a)
|
||||
#define IBanneredBar_SetBitmap(T,a) (T)->lpVtbl->SetBitmap(T,a)
|
||||
#define IBanneredBar_GetBitmap(T,a) (T)->lpVtbl->GetBitmap(T,a)
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
|
|
|
@ -1742,6 +1742,26 @@ interface IBandSite : IUnknown
|
|||
|
||||
cpp_quote("#endif /* _WIN32_IE_IE40 */")
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* IMenuBand interface
|
||||
*/
|
||||
[
|
||||
uuid(568804CD-CBD7-11d0-9816-00C04FD91972),
|
||||
object,
|
||||
pointer_default(unique),
|
||||
local
|
||||
]
|
||||
interface IMenuBand : IUnknown
|
||||
{
|
||||
enum tagMENUBANDHANDLERCID {
|
||||
MBHANDCID_PIDLSELECT = 0,
|
||||
};
|
||||
|
||||
HRESULT IsMenuMessage([in] MSG* pmsg);
|
||||
|
||||
HRESULT TranslateMenuMessage(
|
||||
[in, out] MSG* pmsg,
|
||||
[out] LRESULT* plRet);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -69,7 +69,7 @@ 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("#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")
|
||||
|
@ -85,7 +85,7 @@ 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)")
|
||||
cpp_quote("#endif /* defined(STRICT_TYPED_ITEMIDS) && defined(__cplusplus) */")
|
||||
|
||||
|
||||
#ifndef MAX_PATH
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue