IContextMenu3
"Martin Fuchs" <[email protected]> Sat, 13 Aug 2005 13:42:57 +0100
| Newsgroups | gmane.comp.gnu.mingw.patches |
|---|---|
| Message-ID | <[email protected]> |
Changelog: 2005-08-13 Martin Fuchs <[email protected]> * include/shlobj.h (IContextMenu3): Define. * include/shlguid.h (IID_IContextMenu3): Declare. * lib/shell32.c (IID_IContextMenu3): Define. For documentation see http://msdn.microsoft.com/library/default.asp?url=3D/library/en-us/shellcc/= platform/shell/reference/ifaces/icontextmenu3/icontextmenu3.asp Index: include/shlobj.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvs/src/src/winsup/w32api/include/shlobj.h,v retrieving revision 1.38 diff -u -p -d -r1.38 shlobj.h --- include/shlobj.h 29 Dec 2004 12:15:19 -0000 1.38 +++ include/shlobj.h 13 Aug 2005 12:50:10 -0000 @@ -601,6 +601,21 @@ DECLARE_INTERFACE_(IContextMenu2,IContex }; typedef IContextMenu2 *LPCONTEXTMENU2; +#undef INTERFACE +#define INTERFACE IContextMenu3 +DECLARE_INTERFACE_(IContextMenu3,IContextMenu2) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + STDMETHOD(QueryContextMenu)(THIS_ HMENU,UINT,UINT,UINT,UINT) PURE; + STDMETHOD(InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO) PURE; + STDMETHOD(GetCommandString)(THIS_ UINT,UINT,PUINT,LPSTR,UINT) PURE; + STDMETHOD(HandleMenuMsg)(THIS_ UINT,WPARAM,LPARAM) PURE; + STDMETHOD(HandleMenuMsg2)(THIS_ UINT,WPARAM,LPARAM,LRESULT*) PURE; +}; +typedef IContextMenu3 *LPCONTEXTMENU3; + #if (_WIN32_IE >=3D 0x0500) #pragma pack(push,8) typedef struct { @@ -658,6 +673,17 @@ typedef enum { #define IContextMenu2_HandleMenuMsg(T,a,b,c) (T)->lpVtbl->HandleMenuMsg(T,= a,b,c) #endif +#ifdef COBJMACROS +#define IContextMenu3_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,= a,b) +#define IContextMenu3_AddRef(T) (T)->lpVtbl->AddRef(T) +#define IContextMenu3_Release(T) (T)->lpVtbl->Release(T) +#define IContextMenu3_QueryContextMenu(T,a,b,c,d,e) (T)->lpVtbl->QueryCont= extMenu(T,a,b,c,d,e) +#define IContextMenu3_InvokeCommand(T,a) (T)->lpVtbl->InvokeCommand(T,a) +#define IContextMenu3_GetCommandString(T,a,b,c,d,e) (T)->lpVtbl->GetComman= dString(T,a,b,c,d,e) +#define IContextMenu3_HandleMenuMsg(T,a,b,c) (T)->lpVtbl->HandleMenuMsg(T,= a,b,c) +#define IContextMenu3_HandleMenuMsg2(T,a,b,c,d) (T)->lpVtbl->HandleMenuMsg= (T,a,b,c,d) +#endif + #undef INTERFACE #define INTERFACE IColumnProvider DECLARE_INTERFACE_(IColumnProvider,IUnknown) Index: include/shlguid.h =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvs/src/src/winsup/w32api/include/shlguid.h,v retrieving revision 1.7 diff -u -p -d -r1.7 shlguid.h --- include/shlguid.h 24 Dec 2004 11:14:35 -0000 1.7 +++ include/shlguid.h 13 Aug 2005 12:47:52 -0000 @@ -36,6 +36,7 @@ extern const GUID IID_ICommDlgBrowser; extern const GUID IID_IEnumIDList; extern const GUID IID_IFileViewerSite; extern const GUID IID_IContextMenu2; +extern const GUID IID_IContextMenu3; extern const GUID IID_IShellExecuteHookA; extern const GUID IID_IPropSheetPage; extern const GUID IID_INewShortcutHookW; Index: lib/shell32.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvs/src/src/winsup/w32api/lib/shell32.c,v retrieving revision 1.6 diff -u -p -d -r1.6 shell32.c --- lib/shell32.c 24 Dec 2004 11:14:35 -0000 1.6 +++ lib/shell32.c 13 Aug 2005 12:53:51 -0000 @@ -27,6 +27,7 @@ DEFINE_SHLGUID(IID_ICommDlgBrowser,0x000 DEFINE_SHLGUID(IID_IEnumIDList,0x000214F2L,0,0); DEFINE_SHLGUID(IID_IFileViewerSite,0x000214F3L,0,0); DEFINE_SHLGUID(IID_IContextMenu2,0x000214F4L,0,0); +DEFINE_GUID(IID_IContextMenu3,0xBCFCE0A0,0xEC17,0x11D0,0x8D,0x10,0x0,0xA0,= 0xC9,0xF,0x27,0x19); DEFINE_SHLGUID(IID_IShellExecuteHookA,0x000214F5L,0,0); DEFINE_SHLGUID(IID_IPropSheetPage,0x000214F6L,0,0); DEFINE_SHLGUID(IID_INewShortcutHookW,0x000214F7L,0,0); ------------------------------------------------------- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf