Define IShellExecuteHook interface.

This commit is contained in:
Martin Fuchs 2004-01-06 21:38:55 +00:00 committed by Alexandre Julliard
parent d17b232741
commit 9d7bcf8fdd
3 changed files with 186 additions and 2 deletions

View File

@ -48,11 +48,9 @@ DEFINE_SHLGUID(IID_IDelayedRelease, 0x000214EDL, 0, 0);
DEFINE_SHLGUID(IID_IShellCopyHookA, 0x000214EFL, 0, 0);
DEFINE_SHLGUID(IID_IFileViewerA, 0x000214F0L, 0, 0);
DEFINE_SHLGUID(IID_IFileViewerSite, 0x000214F3L, 0, 0);
DEFINE_SHLGUID(IID_IShellExecuteHookA, 0x000214F5L, 0, 0);
DEFINE_SHLGUID(IID_IPropSheetPage, 0x000214F6L, 0, 0);
DEFINE_SHLGUID(IID_INewShortcutHookW, 0x000214F7L, 0, 0);
DEFINE_SHLGUID(IID_IFileViewerW, 0x000214F8L, 0, 0);
DEFINE_SHLGUID(IID_IShellExecuteHookW, 0x000214FBL, 0, 0);
DEFINE_SHLGUID(IID_IShellCopyHookW, 0x000214FCL, 0, 0);
DEFINE_SHLGUID(IID_IRemoteComputer, 0x000214FEL, 0, 0);
DEFINE_SHLGUID(IID_IQueryInfo, 0x00021500L, 0, 0);
@ -71,6 +69,8 @@ DEFINE_SHLGUID(IID_IQueryInfo, 0x00021500L, 0, 0);
/* DEFINE_SHLGUID(IID_IShellLinkA, 0x000214EEL, 0, 0); */
/* DEFINE_SHLGUID(IID_IEnumIDList, 0x000214F2L, 0, 0); */
/* DEFINE_SHLGUID(IID_IShellLinkW, 0x000214F9L, 0, 0); */
/* DEFINE_SHLGUID(IID_IShellExecuteHookA, 0x000214F5L, 0, 0); */
/* DEFINE_SHLGUID(IID_IShellExecuteHookW, 0x000214FBL, 0, 0); */
DEFINE_GUID(SID_STopLevelBrowser, 0x4C96BE40L, 0x915C, 0x11CF, 0x99, 0xD3, 0x00, 0xAA, 0x00, 0x4A, 0xE8, 0x37);

View File

@ -4112,6 +4112,158 @@ void __RPC_STUB IContextMenu3_HandleMenuMsg2_Stub(
#endif /* __IContextMenu3_INTERFACE_DEFINED__ */
#ifndef __IShellExecuteHookA_FWD_DEFINED__
#define __IShellExecuteHookA_FWD_DEFINED__
typedef struct IShellExecuteHookA IShellExecuteHookA;
#endif
struct _SHELLEXECUTEINFOA;
/*****************************************************************************
* IShellExecuteHookA interface
*/
#ifndef __IShellExecuteHookA_INTERFACE_DEFINED__
#define __IShellExecuteHookA_INTERFACE_DEFINED__
DEFINE_GUID(IID_IShellExecuteHookA, 0x000214f5, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IShellExecuteHookA : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Execute(
struct _SHELLEXECUTEINFOA* pei) = 0;
};
#else
typedef struct IShellExecuteHookAVtbl IShellExecuteHookAVtbl;
struct IShellExecuteHookA {
const IShellExecuteHookAVtbl* lpVtbl;
};
struct IShellExecuteHookAVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IShellExecuteHookA* This,
REFIID riid,
void** ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IShellExecuteHookA* This);
ULONG (STDMETHODCALLTYPE *Release)(
IShellExecuteHookA* This);
/*** IShellExecuteHookA methods ***/
HRESULT (STDMETHODCALLTYPE *Execute)(
IShellExecuteHookA* This,
struct _SHELLEXECUTEINFOA* pei);
};
/*** IUnknown methods ***/
#define IShellExecuteHookA_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IShellExecuteHookA_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IShellExecuteHookA_Release(p) (p)->lpVtbl->Release(p)
/*** IShellExecuteHookA methods ***/
#define IShellExecuteHookA_Execute(p,a) (p)->lpVtbl->Execute(p,a)
#endif
#define IShellExecuteHookA_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; \
/*** IShellExecuteHookA methods ***/ \
STDMETHOD_(HRESULT,Execute)(THIS_ struct _SHELLEXECUTEINFOA* pei) PURE;
HRESULT CALLBACK IShellExecuteHookA_Execute_Proxy(
IShellExecuteHookA* This,
struct _SHELLEXECUTEINFOA* pei);
void __RPC_STUB IShellExecuteHookA_Execute_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IShellExecuteHookA_INTERFACE_DEFINED__ */
#ifndef __IShellExecuteHookW_FWD_DEFINED__
#define __IShellExecuteHookW_FWD_DEFINED__
typedef struct IShellExecuteHookW IShellExecuteHookW;
#endif
struct _SHELLEXECUTEINFOW;
/*****************************************************************************
* IShellExecuteHookW interface
*/
#ifndef __IShellExecuteHookW_INTERFACE_DEFINED__
#define __IShellExecuteHookW_INTERFACE_DEFINED__
DEFINE_GUID(IID_IShellExecuteHookW, 0x000214fb, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
#if defined(__cplusplus) && !defined(CINTERFACE)
struct IShellExecuteHookW : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Execute(
struct _SHELLEXECUTEINFOW* pei) = 0;
};
#else
typedef struct IShellExecuteHookWVtbl IShellExecuteHookWVtbl;
struct IShellExecuteHookW {
const IShellExecuteHookWVtbl* lpVtbl;
};
struct IShellExecuteHookWVtbl {
ICOM_MSVTABLE_COMPAT_FIELDS
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IShellExecuteHookW* This,
REFIID riid,
void** ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IShellExecuteHookW* This);
ULONG (STDMETHODCALLTYPE *Release)(
IShellExecuteHookW* This);
/*** IShellExecuteHookW methods ***/
HRESULT (STDMETHODCALLTYPE *Execute)(
IShellExecuteHookW* This,
struct _SHELLEXECUTEINFOW* pei);
};
/*** IUnknown methods ***/
#define IShellExecuteHookW_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IShellExecuteHookW_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IShellExecuteHookW_Release(p) (p)->lpVtbl->Release(p)
/*** IShellExecuteHookW methods ***/
#define IShellExecuteHookW_Execute(p,a) (p)->lpVtbl->Execute(p,a)
#endif
#define IShellExecuteHookW_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; \
/*** IShellExecuteHookW methods ***/ \
STDMETHOD_(HRESULT,Execute)(THIS_ struct _SHELLEXECUTEINFOW* pei) PURE;
HRESULT CALLBACK IShellExecuteHookW_Execute_Proxy(
IShellExecuteHookW* This,
struct _SHELLEXECUTEINFOW* pei);
void __RPC_STUB IShellExecuteHookW_Execute_Stub(
struct IRpcStubBuffer* This,
struct IRpcChannelBuffer* pRpcChannelBuffer,
PRPC_MESSAGE pRpcMessage,
DWORD* pdwStubPhase);
#endif /* __IShellExecuteHookW_INTERFACE_DEFINED__ */
#ifdef __cplusplus
}
#endif

View File

@ -1073,3 +1073,35 @@ interface IContextMenu3 : IContextMenu2
[in] LPARAM lParam,
[out] LRESULT *plResult);
}
/*****************************************************************************
* IShellExecuteHookA interface
*/
[
object,
uuid(000214f5-0000-0000-c000-000000000046),
pointer_default(unique)
]
interface IShellExecuteHookA : IUnknown
{
cpp_quote("struct _SHELLEXECUTEINFOA;");
HRESULT Execute(
[in, out] struct _SHELLEXECUTEINFOA* pei);
}
/*****************************************************************************
* IShellExecuteHookW interface
*/
[
object,
uuid(000214fb-0000-0000-c000-000000000046),
pointer_default(unique)
]
interface IShellExecuteHookW : IUnknown
{
cpp_quote("struct _SHELLEXECUTEINFOW;");
HRESULT Execute(
[in, out] struct _SHELLEXECUTEINFOW* pei);
}