From 773784ea01d626603c0fcccb5af47cc4e0acee40 Mon Sep 17 00:00:00 2001 From: Mike McCormack Date: Tue, 1 Jun 2004 19:42:07 +0000 Subject: [PATCH] Added definitions for the IShellWindows interface. --- include/exdisp.h | 333 +++++++++++++++++++++++++++++++++++++++++++++ include/exdisp.idl | 24 ++++ 2 files changed, 357 insertions(+) diff --git a/include/exdisp.h b/include/exdisp.h index 85657082f25..b5c54489a17 100644 --- a/include/exdisp.h +++ b/include/exdisp.h @@ -1145,6 +1145,339 @@ void __RPC_STUB IWebBrowserApp_put_FullScreen_Stub( #endif /* __IWebBrowserApp_INTERFACE_DEFINED__ */ +#ifndef __IShellWindows_FWD_DEFINED__ +#define __IShellWindows_FWD_DEFINED__ +typedef struct IShellWindows IShellWindows; +#endif + +/***************************************************************************** + * IShellWindows interface + */ +#ifndef __IShellWindows_INTERFACE_DEFINED__ +#define __IShellWindows_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IShellWindows, 0x85cb6900, 0x4d95, 0x11cf, 0x96,0x0c, 0x00,0x80,0xc7,0xf4,0xee,0x85); +#if defined(__cplusplus) && !defined(CINTERFACE) +struct IShellWindows : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Count( + long* Count) = 0; + + virtual HRESULT STDMETHODCALLTYPE Item( + VARIANT index, + IDispatch** Folder) = 0; + + virtual HRESULT STDMETHODCALLTYPE _NewEnum( + IUnknown** ppunk) = 0; + + virtual HRESULT STDMETHODCALLTYPE Register( + IDispatch* pid, + long hWnd, + int swClass, + long* plCookie) = 0; + + virtual HRESULT STDMETHODCALLTYPE RegisterPending( + long lThread, + VARIANT* pvarloc, + VARIANT* varlocRoot, + int swClass, + long* plCookie) = 0; + + virtual HRESULT STDMETHODCALLTYPE Revoke( + long Cookie) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnNavigate( + long Cookie, + VARIANT* pvarLoc) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnActivated( + long Cookie, + VARIANT fActive) = 0; + + virtual HRESULT STDMETHODCALLTYPE FindWindowSW( + VARIANT* pvarLoc, + VARIANT* pvarLocRoot, + int swClass, + long* phwnd, + int swfwOptions, + IDispatch** ppdispOut) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnCreated( + long lCookie, + IUnknown* punk) = 0; + + virtual HRESULT STDMETHODCALLTYPE ProcessAttachDetach( + VARIANT_BOOL fAttach) = 0; + +}; +#else +typedef struct IShellWindowsVtbl IShellWindowsVtbl; +struct IShellWindows { + const IShellWindowsVtbl* lpVtbl; +}; +struct IShellWindowsVtbl { + ICOM_MSVTABLE_COMPAT_FIELDS + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IShellWindows* This, + REFIID riid, + void** ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IShellWindows* This); + + ULONG (STDMETHODCALLTYPE *Release)( + IShellWindows* This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IShellWindows* This, + UINT* pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IShellWindows* This, + UINT iTInfo, + LCID lcid, + ITypeInfo** ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IShellWindows* This, + REFIID riid, + LPOLESTR* rgszNames, + UINT cNames, + LCID lcid, + DISPID* rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IShellWindows* This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS* pDispParams, + VARIANT* pVarResult, + EXCEPINFO* pExcepInfo, + UINT* puArgErr); + + /*** IShellWindows methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Count)( + IShellWindows* This, + long* Count); + + HRESULT (STDMETHODCALLTYPE *Item)( + IShellWindows* This, + VARIANT index, + IDispatch** Folder); + + HRESULT (STDMETHODCALLTYPE *_NewEnum)( + IShellWindows* This, + IUnknown** ppunk); + + HRESULT (STDMETHODCALLTYPE *Register)( + IShellWindows* This, + IDispatch* pid, + long hWnd, + int swClass, + long* plCookie); + + HRESULT (STDMETHODCALLTYPE *RegisterPending)( + IShellWindows* This, + long lThread, + VARIANT* pvarloc, + VARIANT* varlocRoot, + int swClass, + long* plCookie); + + HRESULT (STDMETHODCALLTYPE *Revoke)( + IShellWindows* This, + long Cookie); + + HRESULT (STDMETHODCALLTYPE *OnNavigate)( + IShellWindows* This, + long Cookie, + VARIANT* pvarLoc); + + HRESULT (STDMETHODCALLTYPE *OnActivated)( + IShellWindows* This, + long Cookie, + VARIANT fActive); + + HRESULT (STDMETHODCALLTYPE *FindWindowSW)( + IShellWindows* This, + VARIANT* pvarLoc, + VARIANT* pvarLocRoot, + int swClass, + long* phwnd, + int swfwOptions, + IDispatch** ppdispOut); + + HRESULT (STDMETHODCALLTYPE *OnCreated)( + IShellWindows* This, + long lCookie, + IUnknown* punk); + + HRESULT (STDMETHODCALLTYPE *ProcessAttachDetach)( + IShellWindows* This, + VARIANT_BOOL fAttach); + +}; + +/*** IUnknown methods ***/ +#define IShellWindows_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) +#define IShellWindows_AddRef(p) (p)->lpVtbl->AddRef(p) +#define IShellWindows_Release(p) (p)->lpVtbl->Release(p) +/*** IDispatch methods ***/ +#define IShellWindows_GetTypeInfoCount(p,a) (p)->lpVtbl->GetTypeInfoCount(p,a) +#define IShellWindows_GetTypeInfo(p,a,b,c) (p)->lpVtbl->GetTypeInfo(p,a,b,c) +#define IShellWindows_GetIDsOfNames(p,a,b,c,d,e) (p)->lpVtbl->GetIDsOfNames(p,a,b,c,d,e) +#define IShellWindows_Invoke(p,a,b,c,d,e,f,g,h) (p)->lpVtbl->Invoke(p,a,b,c,d,e,f,g,h) +/*** IShellWindows methods ***/ +#define IShellWindows_get_Count(p,a) (p)->lpVtbl->get_Count(p,a) +#define IShellWindows_Item(p,a,b) (p)->lpVtbl->Item(p,a,b) +#define IShellWindows__NewEnum(p,a) (p)->lpVtbl->_NewEnum(p,a) +#define IShellWindows_Register(p,a,b,c,d) (p)->lpVtbl->Register(p,a,b,c,d) +#define IShellWindows_RegisterPending(p,a,b,c,d,e) (p)->lpVtbl->RegisterPending(p,a,b,c,d,e) +#define IShellWindows_Revoke(p,a) (p)->lpVtbl->Revoke(p,a) +#define IShellWindows_OnNavigate(p,a,b) (p)->lpVtbl->OnNavigate(p,a,b) +#define IShellWindows_OnActivated(p,a,b) (p)->lpVtbl->OnActivated(p,a,b) +#define IShellWindows_FindWindowSW(p,a,b,c,d,e,f) (p)->lpVtbl->FindWindowSW(p,a,b,c,d,e,f) +#define IShellWindows_OnCreated(p,a,b) (p)->lpVtbl->OnCreated(p,a,b) +#define IShellWindows_ProcessAttachDetach(p,a) (p)->lpVtbl->ProcessAttachDetach(p,a) + +#endif + +#define IShellWindows_METHODS \ + ICOM_MSVTABLE_COMPAT_FIELDS \ + /*** IUnknown methods ***/ \ + STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \ + STDMETHOD_(ULONG,AddRef)(THIS) PURE; \ + STDMETHOD_(ULONG,Release)(THIS) PURE; \ + /*** IDispatch methods ***/ \ + STDMETHOD_(HRESULT,GetTypeInfoCount)(THIS_ UINT* pctinfo) PURE; \ + STDMETHOD_(HRESULT,GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo** ppTInfo) PURE; \ + STDMETHOD_(HRESULT,GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR* rgszNames, UINT cNames, LCID lcid, DISPID* rgDispId) PURE; \ + STDMETHOD_(HRESULT,Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS* pDispParams, VARIANT* pVarResult, EXCEPINFO* pExcepInfo, UINT* puArgErr) PURE; \ + /*** IShellWindows methods ***/ \ + STDMETHOD_(HRESULT,get_Count)(THIS_ long* Count) PURE; \ + STDMETHOD_(HRESULT,Item)(THIS_ VARIANT index, IDispatch** Folder) PURE; \ + STDMETHOD_(HRESULT,_NewEnum)(THIS_ IUnknown** ppunk) PURE; \ + STDMETHOD_(HRESULT,Register)(THIS_ IDispatch* pid, long hWnd, int swClass, long* plCookie) PURE; \ + STDMETHOD_(HRESULT,RegisterPending)(THIS_ long lThread, VARIANT* pvarloc, VARIANT* varlocRoot, int swClass, long* plCookie) PURE; \ + STDMETHOD_(HRESULT,Revoke)(THIS_ long Cookie) PURE; \ + STDMETHOD_(HRESULT,OnNavigate)(THIS_ long Cookie, VARIANT* pvarLoc) PURE; \ + STDMETHOD_(HRESULT,OnActivated)(THIS_ long Cookie, VARIANT fActive) PURE; \ + STDMETHOD_(HRESULT,FindWindowSW)(THIS_ VARIANT* pvarLoc, VARIANT* pvarLocRoot, int swClass, long* phwnd, int swfwOptions, IDispatch** ppdispOut) PURE; \ + STDMETHOD_(HRESULT,OnCreated)(THIS_ long lCookie, IUnknown* punk) PURE; \ + STDMETHOD_(HRESULT,ProcessAttachDetach)(THIS_ VARIANT_BOOL fAttach) PURE; + +HRESULT CALLBACK IShellWindows_get_Count_Proxy( + IShellWindows* This, + long* Count); +void __RPC_STUB IShellWindows_get_Count_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IShellWindows_Item_Proxy( + IShellWindows* This, + VARIANT index, + IDispatch** Folder); +void __RPC_STUB IShellWindows_Item_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IShellWindows__NewEnum_Proxy( + IShellWindows* This, + IUnknown** ppunk); +void __RPC_STUB IShellWindows__NewEnum_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IShellWindows_Register_Proxy( + IShellWindows* This, + IDispatch* pid, + long hWnd, + int swClass, + long* plCookie); +void __RPC_STUB IShellWindows_Register_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IShellWindows_RegisterPending_Proxy( + IShellWindows* This, + long lThread, + VARIANT* pvarloc, + VARIANT* varlocRoot, + int swClass, + long* plCookie); +void __RPC_STUB IShellWindows_RegisterPending_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IShellWindows_Revoke_Proxy( + IShellWindows* This, + long Cookie); +void __RPC_STUB IShellWindows_Revoke_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IShellWindows_OnNavigate_Proxy( + IShellWindows* This, + long Cookie, + VARIANT* pvarLoc); +void __RPC_STUB IShellWindows_OnNavigate_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IShellWindows_OnActivated_Proxy( + IShellWindows* This, + long Cookie, + VARIANT fActive); +void __RPC_STUB IShellWindows_OnActivated_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IShellWindows_FindWindowSW_Proxy( + IShellWindows* This, + VARIANT* pvarLoc, + VARIANT* pvarLocRoot, + int swClass, + long* phwnd, + int swfwOptions, + IDispatch** ppdispOut); +void __RPC_STUB IShellWindows_FindWindowSW_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IShellWindows_OnCreated_Proxy( + IShellWindows* This, + long lCookie, + IUnknown* punk); +void __RPC_STUB IShellWindows_OnCreated_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IShellWindows_ProcessAttachDetach_Proxy( + IShellWindows* This, + VARIANT_BOOL fAttach); +void __RPC_STUB IShellWindows_ProcessAttachDetach_Stub( + struct IRpcStubBuffer* This, + struct IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __IShellWindows_INTERFACE_DEFINED__ */ + DEFINE_GUID(CLSID_WebBrowser, 0x8856f961, 0x340a, 0x11d0, 0xa9, 0x6b, 0x00, 0xc0, 0x4f, 0xd7, 0x05, 0xa2); #ifdef __cplusplus } diff --git a/include/exdisp.idl b/include/exdisp.idl index 34f3d418ee3..1ad76305368 100644 --- a/include/exdisp.idl +++ b/include/exdisp.idl @@ -117,5 +117,29 @@ interface IWebBrowserApp : IWebBrowser HRESULT put_FullScreen([in] VARIANT_BOOL bFullScreen); } +[ + object, + oleautomation, + uuid(85cb6900-4d95-11cf-960c-0080c7f4ee85) +] +interface IShellWindows : IDispatch +{ + HRESULT get_Count( [out] long *Count ); + HRESULT Item( [in] VARIANT index, [out] IDispatch **Folder ); + HRESULT _NewEnum( [out] IUnknown **ppunk ); + HRESULT Register( [in] IDispatch *pid, [in] long hWnd, [in] int swClass, + [out] long *plCookie ); + HRESULT RegisterPending( [in] long lThread, [in] VARIANT *pvarloc, + [in] VARIANT *varlocRoot, [in] int swClass, [out] long *plCookie ); + HRESULT Revoke( [in] long Cookie ); + HRESULT OnNavigate( [in] long Cookie, [out] VARIANT *pvarLoc ); + HRESULT OnActivated( [in] long Cookie, [in] VARIANT fActive ); + HRESULT FindWindowSW( [in] VARIANT *pvarLoc, [in] VARIANT *pvarLocRoot, + [in] int swClass, [out] long *phwnd, int swfwOptions, + IDispatch **ppdispOut ); + HRESULT OnCreated( [in] long lCookie, [in] IUnknown *punk ); + HRESULT ProcessAttachDetach( [in] VARIANT_BOOL fAttach ); +} + /* FIXME */ cpp_quote("DEFINE_GUID(CLSID_WebBrowser, 0x8856f961, 0x340a, 0x11d0, 0xa9, 0x6b, 0x00, 0xc0, 0x4f, 0xd7, 0x05, 0xa2);")