define interface IShellExecuteHook

svn path=/trunk/; revision=7488
This commit is contained in:
Martin Fuchs 2004-01-06 17:21:34 +00:00
parent 41e10d4931
commit 769315c915
3 changed files with 160 additions and 6 deletions

View file

@ -140,7 +140,7 @@ typedef struct _SHELLEXECUTEINFOA {
DWORD dwHotKey;
HANDLE hIcon;
HANDLE hProcess;
} SHELLEXECUTEINFOA,*LPSHELLEXECUTEINFOA;
} SHELLEXECUTEINFOA;
typedef struct _SHELLEXECUTEINFOW {
DWORD cbSize;
ULONG fMask;
@ -157,7 +157,7 @@ typedef struct _SHELLEXECUTEINFOW {
DWORD dwHotKey;
HANDLE hIcon;
HANDLE hProcess;
} SHELLEXECUTEINFOW,*LPSHELLEXECUTEINFOW;
} SHELLEXECUTEINFOW;
typedef struct _SHFILEOPSTRUCTA {
HWND hwnd;
UINT wFunc;
@ -220,8 +220,8 @@ int WINAPI ShellAboutA(HWND,LPCSTR,LPCSTR,HICON);
int WINAPI ShellAboutW(HWND,LPCWSTR,LPCWSTR,HICON);
HINSTANCE WINAPI ShellExecuteA(HWND,LPCSTR,LPCSTR,LPCSTR,LPCSTR,INT);
HINSTANCE WINAPI ShellExecuteW(HWND,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,INT);
BOOL WINAPI ShellExecuteExA(LPSHELLEXECUTEINFOA);
BOOL WINAPI ShellExecuteExW(LPSHELLEXECUTEINFOW);
BOOL WINAPI ShellExecuteExA(SHELLEXECUTEINFOA*);
BOOL WINAPI ShellExecuteExW(SHELLEXECUTEINFOW*);
int WINAPI SHFileOperationA(LPSHFILEOPSTRUCTA);
int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW);
void WINAPI SHFreeNameMappings(HANDLE);

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);
@ -73,6 +71,8 @@ DEFINE_SHLGUID(IID_IShellLinkA, 0x000214EEL, 0, 0);
DEFINE_SHLGUID(IID_IEnumIDList, 0x000214F2L, 0, 0);
DEFINE_SHLGUID(IID_IShellLinkW, 0x000214F9L, 0, 0);
#endif
/* 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,160 @@ void __RPC_STUB IContextMenu3_HandleMenuMsg2_Stub(
#endif /* __IContextMenu3_INTERFACE_DEFINED__ */
#ifndef __IShellExecuteHookA_FWD_DEFINED__
#define __IShellExecuteHookA_FWD_DEFINED__
typedef struct IShellExecuteHookA IShellExecuteHookA;
#endif
typedef struct _SHELLEXECUTEINFOA *LPSHELLEXECUTEINFOA;
/*****************************************************************************
* 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(
LPSHELLEXECUTEINFOA 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,
LPSHELLEXECUTEINFOA 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_ LPSHELLEXECUTEINFOA pei) PURE;
HRESULT CALLBACK IShellExecuteHookA_Execute_Proxy(
IShellExecuteHookA* This,
LPSHELLEXECUTEINFOA 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
typedef struct _SHELLEXECUTEINFOW *LPSHELLEXECUTEINFOW;
/*****************************************************************************
* 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(
LPSHELLEXECUTEINFOW 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,
LPSHELLEXECUTEINFOW 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_ LPSHELLEXECUTEINFOW pei) PURE;
HRESULT CALLBACK IShellExecuteHookW_Execute_Proxy(
IShellExecuteHookW* This,
LPSHELLEXECUTEINFOW 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