From 62bc2c186fff2cc3610da76c46fabe8256819289 Mon Sep 17 00:00:00 2001 From: Jon Griffiths Date: Thu, 17 Mar 2005 10:27:07 +0000 Subject: [PATCH] Add some missing interfaces. --- include/shlguid.h | 6 ++-- include/shlobj.h | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 85 insertions(+), 9 deletions(-) diff --git a/include/shlguid.h b/include/shlguid.h index a4ed4226adb..a2efab6d64d 100644 --- a/include/shlguid.h +++ b/include/shlguid.h @@ -83,8 +83,10 @@ 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_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); /**************************************************************************** * the next IID's are the namespace elements of the pidls diff --git a/include/shlobj.h b/include/shlobj.h index eb7140fe045..99063dfcea5 100644 --- a/include/shlobj.h +++ b/include/shlobj.h @@ -55,7 +55,7 @@ int WINAPI SHMapPIDLToSystemImageListIndex(IShellFolder*,LPCITEMIDLIST, HRESULT WINAPI SHStartNetConnectionDialog(HWND,LPCSTR,DWORD); VOID WINAPI SHUpdateImageA(LPCSTR,INT,UINT,INT); VOID WINAPI SHUpdateImageW(LPCWSTR,INT,UINT,INT); -#define SHUpdateImage WINELIB_NAME_AW(SHUpdateImage) +#define SHUpdateImage WINELIB_NAME_AW(SHUpdateImage) int WINAPI RestartDialog(HWND,LPCWSTR,DWORD); int WINAPI RestartDialogEx(HWND,LPCWSTR,DWORD,DWORD); @@ -76,13 +76,15 @@ BOOL WINAPI SHObjectProperties(HWND,DWORD,LPCWSTR,LPCWSTR); #define PCS_TRUNCATED 0x00000004 #define PCS_PATHTOOLONG 0x00000008 -int WINAPI PathCleanupSpec(LPCWSTR pszDir, LPWSTR pszSpec); +int WINAPI PathCleanupSpec(LPCWSTR,LPWSTR); /***************************************************************************** * Predeclare interfaces */ typedef struct IShellIcon IShellIcon, *LPSHELLICON; - +typedef struct IQueryInfo IQueryInfo; +typedef struct IInputObject IInputObject; +typedef struct IInputObjectSite IInputObjectSite; /***************************************************************************** * IContextMenu interface @@ -221,6 +223,78 @@ DECLARE_INTERFACE_(IShellIcon,IUnknown) #define IShellIcon_GetIconOf(p,a,b,c) (p)->lpVtbl->GetIconOf(p,a,b,c) #endif +/* IQueryInfo interface */ +#define INTERFACE IQueryInfo +DECLARE_INTERFACE_(IQueryInfo,IUnknown) +{ + /*** IUnknown methods ***/ + STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + /*** IQueryInfo methods ***/ + STDMETHOD(GetInfoTip)(THIS_ DWORD dwFlags, WCHAR** lppTips) PURE; + STDMETHOD(GetInfoFlags)(THIS_ DWORD* lpFlags) PURE; +}; +#undef INTERFACE + +#if !defined(__cplusplus) || defined(CINTERFACE) +/*** IUnknown methods ***/ +#define IQueryInfo_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) +#define IQueryInfo_AddRef(p) (p)->lpVtbl->AddRef(p) +#define IQueryInfo_Release(p) (p)->lpVtbl->Release(p) +/*** IQueryInfo methods ***/ +#define IQueryInfo_GetInfoTip(p,a,b) (p)->lpVtbl->GetInfoTip(p,a,b) +#define IQueryInfo_GetInfoFlags(p,a) (p)->lpVtbl->GetInfoFlags(p,a) +#endif + +/* IInputObject interface */ +#define INTERFACE IInputObject +DECLARE_INTERFACE_(IInputObject,IUnknown) +{ + /*** IUnknown methods ***/ + STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; + /*** IInputObject methods ***/ + STDMETHOD(UIActivateIO)(THIS_ BOOL bActivating, LPMSG lpMsg) PURE; + STDMETHOD(HasFocusIO)(THIS) PURE; + STDMETHOD(TranslateAcceleratorIO)(THIS_ LPMSG lpMsg) PURE; +}; +#undef INTERFACE + +#if !defined(__cplusplus) || defined(CINTERFACE) +/*** IUnknown methods ***/ +#define IInputObject_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) +#define IInputObject_AddRef(p) (p)->lpVtbl->AddRef(p) +#define IInputObject_Release(p) (p)->lpVtbl->Release(p) +/*** IInputObject methods ***/ +#define IInputObject_UIActivateIO(p,a,b) (p)->lpVtbl->UIActivateIO(p,a,b) +#define IInputObject_HasFocusIO(p) (p)->lpVtbl->HasFocusIO(p) +#define IInputObject_TranslateAcceleratorIO(p,a) (p)->lpVtbl->TranslateAcceleratorIO(p,a) +#endif + +/* IInputObjectSite interface */ +#define INTERFACE IInputObjectSite +DECLARE_INTERFACE_(IInputObjectSite,IUnknown) +{ + /*** IUnknown methods ***/ + STDMETHOD_(HRESULT,QueryInterface) (THIS_ REFIID riid, void** ppvObject) PURE; + STDMETHOD_(ULONG,AddRef) (THIS) PURE; + STDMETHOD_(ULONG,Release) (THIS) PURE; + /*** IInputObjectSite methods ***/ + STDMETHOD(OnFocusChangeIS)(THIS_ LPUNKNOWN lpUnknown, BOOL bFocus) PURE; +}; +#undef INTERFACE + +#if !defined(__cplusplus) || defined(CINTERFACE) +/*** IUnknown methods ***/ +#define IInputObjectSite_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) +#define IInputObjectSite_AddRef(p) (p)->lpVtbl->AddRef(p) +#define IInputObjectSite_Release(p) (p)->lpVtbl->Release(p) +/*** IInputObject methods ***/ +#define IInputObjectSite_OnFocusChangeIS(p,a,b) (p)->lpVtbl->OnFocusChangeIS(p,a,b) +#endif + /**************************************************************************** * SHAddToRecentDocs API */ @@ -229,12 +303,12 @@ DECLARE_INTERFACE_(IShellIcon,IUnknown) #define SHARD_PATHW 0x00000003L #define SHARD_PATH WINELIB_NAME_AW(SHARD_PATH) -void WINAPI SHAddToRecentDocs(UINT uFlags, LPCVOID pv); +void WINAPI SHAddToRecentDocs(UINT,LPCVOID); /**************************************************************************** * SHBrowseForFolder API */ -typedef INT (CALLBACK *BFFCALLBACK)(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData); +typedef INT (CALLBACK *BFFCALLBACK)(HWND,UINT,LPARAM,LPARAM); #include @@ -273,7 +347,7 @@ typedef struct tagBROWSEINFOW { #define BIF_RETURNFSANCESTORS 0x0008 #define BIF_EDITBOX 0x0010 #define BIF_VALIDATE 0x0020 -#define BIF_NEWDIALOGSTYLE 0x0040 +#define BIF_NEWDIALOGSTYLE 0x0040 #define BIF_BROWSEFORCOMPUTER 0x1000 #define BIF_BROWSEFORPRINTER 0x2000 @@ -751,7 +825,7 @@ typedef enum RESTRICTIONS REST_ALLOWUNHASHEDWEBVIEW, REST_ALLOWLEGACYWEBVIEW, REST_REVERTWEBVIEWSECURITY, - + REST_INHERITCONSOLEHANDLES = 0x40000086, REST_NODISCONNECT = 0x41000001, -- 2.11.4.GIT