From 38c9e858ac450b9f7a8f9837d666cbd8e33b1e43 Mon Sep 17 00:00:00 2001 From: Danny Smith Date: Wed, 17 Aug 2005 08:29:08 +0000 Subject: 2005-08-17 Martin Fuchs * include/shlobj.h (IContextMenu3): Define. * include/shlguid.h (IID_IContextMenu3): Declare. * lib/shell32.c (IID_IContextMenu3): Define. 2005-08-17 Martin Fuchs * include/shlobj.h (SHFormatDrive): Declaration of function and associated constants. --- winsup/w32api/include/shlguid.h | 1 + winsup/w32api/include/shlobj.h | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) (limited to 'winsup/w32api/include') diff --git a/winsup/w32api/include/shlguid.h b/winsup/w32api/include/shlguid.h index 2a37a3ca5..3583e324b 100644 --- a/winsup/w32api/include/shlguid.h +++ b/winsup/w32api/include/shlguid.h @@ -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; diff --git a/winsup/w32api/include/shlobj.h b/winsup/w32api/include/shlobj.h index 07f4bdae4..138d08d6f 100644 --- a/winsup/w32api/include/shlobj.h +++ b/winsup/w32api/include/shlobj.h @@ -601,6 +601,21 @@ DECLARE_INTERFACE_(IContextMenu2,IContextMenu) }; 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 >= 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->QueryContextMenu(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->GetCommandString(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) @@ -1474,6 +1500,15 @@ typedef BROWSEINFOA BROWSEINFO,*PBROWSEINFO,*LPBROWSEINFO; #define LPFILEGROUPDESCRIPTOR LPFILEGROUPDESCRIPTORA #endif /* UNICODE */ +DWORD WINAPI SHFormatDrive(HWND,UINT,UINT,UINT); + +#define SHFMT_ID_DEFAULT 0xFFFF +#define SHFMT_OPT_FULL 1 +#define SHFMT_OPT_SYSONLY 2 +#define SHFMT_ERROR 0xFFFFFFFF +#define SHFMT_CANCEL 0xFFFFFFFE +#define SHFMT_NOFORMAT 0xFFFFFFFD + #pragma pack(pop) #ifdef __cplusplus } -- cgit v1.2.3