2003-09-04 21:43:39 +02:00
|
|
|
/*** Autogenerated by WIDL 0.1 from shobjidl.idl - Do not edit ***/
|
|
|
|
#include <rpc.h>
|
|
|
|
#include <rpcndr.h>
|
|
|
|
|
|
|
|
#ifndef __WIDL_SHOBJIDL_H
|
|
|
|
#define __WIDL_SHOBJIDL_H
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
#include <objidl.h>
|
|
|
|
#include <oleidl.h>
|
|
|
|
#include <oaidl.h>
|
|
|
|
#include <shtypes.h>
|
|
|
|
#include <servprov.h>
|
|
|
|
#include <comcat.h>
|
|
|
|
#ifndef __IPersistFolder_FWD_DEFINED__
|
|
|
|
#define __IPersistFolder_FWD_DEFINED__
|
|
|
|
typedef struct IPersistFolder IPersistFolder;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
typedef IPersistFolder *LPPERSISTFOLDER;
|
|
|
|
|
|
|
|
/*****************************************************************************
|
|
|
|
* IPersistFolder interface
|
|
|
|
*/
|
|
|
|
#ifndef __IPersistFolder_INTERFACE_DEFINED__
|
|
|
|
#define __IPersistFolder_INTERFACE_DEFINED__
|
|
|
|
|
|
|
|
DEFINE_GUID(IID_IPersistFolder, 0x000214ea, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
struct IPersistFolder : public IPersist
|
|
|
|
{
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Initialize(
|
|
|
|
LPCITEMIDLIST pidl) = 0;
|
|
|
|
|
|
|
|
};
|
|
|
|
#else
|
|
|
|
typedef struct IPersistFolderVtbl IPersistFolderVtbl;
|
|
|
|
struct IPersistFolder {
|
|
|
|
const IPersistFolderVtbl* lpVtbl;
|
|
|
|
};
|
|
|
|
struct IPersistFolderVtbl {
|
2004-08-22 04:25:05 +02:00
|
|
|
BEGIN_INTERFACE
|
2003-09-04 21:43:39 +02:00
|
|
|
|
|
|
|
/*** IUnknown methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
|
|
IPersistFolder* This,
|
|
|
|
REFIID riid,
|
|
|
|
void** ppvObject);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
|
|
IPersistFolder* This);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
|
|
IPersistFolder* This);
|
|
|
|
|
|
|
|
/*** IPersist methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetClassID)(
|
|
|
|
IPersistFolder* This,
|
|
|
|
CLSID* pClassID);
|
|
|
|
|
|
|
|
/*** IPersistFolder methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Initialize)(
|
|
|
|
IPersistFolder* This,
|
|
|
|
LPCITEMIDLIST pidl);
|
|
|
|
|
2004-08-22 04:25:05 +02:00
|
|
|
END_INTERFACE
|
2003-09-04 21:43:39 +02:00
|
|
|
};
|
|
|
|
|
2004-08-11 21:43:45 +02:00
|
|
|
#ifdef COBJMACROS
|
2003-09-04 21:43:39 +02:00
|
|
|
/*** IUnknown methods ***/
|
|
|
|
#define IPersistFolder_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
|
|
|
#define IPersistFolder_AddRef(p) (p)->lpVtbl->AddRef(p)
|
|
|
|
#define IPersistFolder_Release(p) (p)->lpVtbl->Release(p)
|
|
|
|
/*** IPersist methods ***/
|
|
|
|
#define IPersistFolder_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
|
|
|
|
/*** IPersistFolder methods ***/
|
|
|
|
#define IPersistFolder_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
|
2004-08-11 21:43:45 +02:00
|
|
|
#endif
|
2003-09-04 21:43:39 +02:00
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define IPersistFolder_METHODS \
|
|
|
|
/*** IUnknown methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
|
|
|
|
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
|
|
|
|
STDMETHOD_(ULONG,Release)(THIS) PURE; \
|
|
|
|
/*** IPersist methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \
|
|
|
|
/*** IPersistFolder methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,Initialize)(THIS_ LPCITEMIDLIST pidl) PURE;
|
|
|
|
|
|
|
|
HRESULT CALLBACK IPersistFolder_Initialize_Proxy(
|
|
|
|
IPersistFolder* This,
|
|
|
|
LPCITEMIDLIST pidl);
|
|
|
|
void __RPC_STUB IPersistFolder_Initialize_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
|
|
|
|
#endif /* __IPersistFolder_INTERFACE_DEFINED__ */
|
|
|
|
|
|
|
|
#ifndef __IPersistFolder2_FWD_DEFINED__
|
|
|
|
#define __IPersistFolder2_FWD_DEFINED__
|
|
|
|
typedef struct IPersistFolder2 IPersistFolder2;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
typedef IPersistFolder2 *LPPERSISTFOLDER2;
|
|
|
|
|
|
|
|
/*****************************************************************************
|
|
|
|
* IPersistFolder2 interface
|
|
|
|
*/
|
|
|
|
#ifndef __IPersistFolder2_INTERFACE_DEFINED__
|
|
|
|
#define __IPersistFolder2_INTERFACE_DEFINED__
|
|
|
|
|
|
|
|
DEFINE_GUID(IID_IPersistFolder2, 0x1ac3d9f0, 0x175c, 0x11d1, 0x95,0xbe, 0x00,0x60,0x97,0x97,0xea,0x4f);
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
struct IPersistFolder2 : public IPersistFolder
|
|
|
|
{
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetCurFolder(
|
|
|
|
LPITEMIDLIST* ppidl) = 0;
|
|
|
|
|
|
|
|
};
|
|
|
|
#else
|
|
|
|
typedef struct IPersistFolder2Vtbl IPersistFolder2Vtbl;
|
|
|
|
struct IPersistFolder2 {
|
|
|
|
const IPersistFolder2Vtbl* lpVtbl;
|
|
|
|
};
|
|
|
|
struct IPersistFolder2Vtbl {
|
2004-08-22 04:25:05 +02:00
|
|
|
BEGIN_INTERFACE
|
2003-09-04 21:43:39 +02:00
|
|
|
|
|
|
|
/*** IUnknown methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
|
|
IPersistFolder2* This,
|
|
|
|
REFIID riid,
|
|
|
|
void** ppvObject);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
|
|
IPersistFolder2* This);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
|
|
IPersistFolder2* This);
|
|
|
|
|
|
|
|
/*** IPersist methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetClassID)(
|
|
|
|
IPersistFolder2* This,
|
|
|
|
CLSID* pClassID);
|
|
|
|
|
|
|
|
/*** IPersistFolder methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Initialize)(
|
|
|
|
IPersistFolder2* This,
|
|
|
|
LPCITEMIDLIST pidl);
|
|
|
|
|
|
|
|
/*** IPersistFolder2 methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetCurFolder)(
|
|
|
|
IPersistFolder2* This,
|
|
|
|
LPITEMIDLIST* ppidl);
|
|
|
|
|
2004-08-22 04:25:05 +02:00
|
|
|
END_INTERFACE
|
2003-09-04 21:43:39 +02:00
|
|
|
};
|
|
|
|
|
2004-08-11 21:43:45 +02:00
|
|
|
#ifdef COBJMACROS
|
2003-09-04 21:43:39 +02:00
|
|
|
/*** IUnknown methods ***/
|
|
|
|
#define IPersistFolder2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
|
|
|
#define IPersistFolder2_AddRef(p) (p)->lpVtbl->AddRef(p)
|
|
|
|
#define IPersistFolder2_Release(p) (p)->lpVtbl->Release(p)
|
|
|
|
/*** IPersist methods ***/
|
|
|
|
#define IPersistFolder2_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
|
|
|
|
/*** IPersistFolder methods ***/
|
|
|
|
#define IPersistFolder2_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
|
|
|
|
/*** IPersistFolder2 methods ***/
|
|
|
|
#define IPersistFolder2_GetCurFolder(p,a) (p)->lpVtbl->GetCurFolder(p,a)
|
2004-08-11 21:43:45 +02:00
|
|
|
#endif
|
2003-09-04 21:43:39 +02:00
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define IPersistFolder2_METHODS \
|
|
|
|
/*** IUnknown methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
|
|
|
|
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
|
|
|
|
STDMETHOD_(ULONG,Release)(THIS) PURE; \
|
|
|
|
/*** IPersist methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \
|
|
|
|
/*** IPersistFolder methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,Initialize)(THIS_ LPCITEMIDLIST pidl) PURE; \
|
|
|
|
/*** IPersistFolder2 methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,GetCurFolder)(THIS_ LPITEMIDLIST* ppidl) PURE;
|
|
|
|
|
|
|
|
HRESULT CALLBACK IPersistFolder2_GetCurFolder_Proxy(
|
|
|
|
IPersistFolder2* This,
|
|
|
|
LPITEMIDLIST* ppidl);
|
|
|
|
void __RPC_STUB IPersistFolder2_GetCurFolder_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
|
|
|
|
#endif /* __IPersistFolder2_INTERFACE_DEFINED__ */
|
|
|
|
|
|
|
|
#ifndef __IEnumIDList_FWD_DEFINED__
|
|
|
|
#define __IEnumIDList_FWD_DEFINED__
|
|
|
|
typedef struct IEnumIDList IEnumIDList;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
typedef IEnumIDList *LPENUMIDLIST;
|
|
|
|
|
|
|
|
/*****************************************************************************
|
|
|
|
* IEnumIDList interface
|
|
|
|
*/
|
|
|
|
#ifndef __IEnumIDList_INTERFACE_DEFINED__
|
|
|
|
#define __IEnumIDList_INTERFACE_DEFINED__
|
|
|
|
|
|
|
|
DEFINE_GUID(IID_IEnumIDList, 0x000214f2, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
struct IEnumIDList : public IUnknown
|
|
|
|
{
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Next(
|
|
|
|
ULONG celt,
|
|
|
|
LPITEMIDLIST* rgelt,
|
|
|
|
ULONG* pceltFetched) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Skip(
|
|
|
|
ULONG celt) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Reset(
|
|
|
|
) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Clone(
|
|
|
|
IEnumIDList** ppenum) = 0;
|
|
|
|
|
|
|
|
};
|
|
|
|
#else
|
|
|
|
typedef struct IEnumIDListVtbl IEnumIDListVtbl;
|
|
|
|
struct IEnumIDList {
|
|
|
|
const IEnumIDListVtbl* lpVtbl;
|
|
|
|
};
|
|
|
|
struct IEnumIDListVtbl {
|
2004-08-22 04:25:05 +02:00
|
|
|
BEGIN_INTERFACE
|
2003-09-04 21:43:39 +02:00
|
|
|
|
|
|
|
/*** IUnknown methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
|
|
IEnumIDList* This,
|
|
|
|
REFIID riid,
|
|
|
|
void** ppvObject);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
|
|
IEnumIDList* This);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
|
|
IEnumIDList* This);
|
|
|
|
|
|
|
|
/*** IEnumIDList methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Next)(
|
|
|
|
IEnumIDList* This,
|
|
|
|
ULONG celt,
|
|
|
|
LPITEMIDLIST* rgelt,
|
|
|
|
ULONG* pceltFetched);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Skip)(
|
|
|
|
IEnumIDList* This,
|
|
|
|
ULONG celt);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Reset)(
|
|
|
|
IEnumIDList* This);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Clone)(
|
|
|
|
IEnumIDList* This,
|
|
|
|
IEnumIDList** ppenum);
|
|
|
|
|
2004-08-22 04:25:05 +02:00
|
|
|
END_INTERFACE
|
2003-09-04 21:43:39 +02:00
|
|
|
};
|
|
|
|
|
2004-08-11 21:43:45 +02:00
|
|
|
#ifdef COBJMACROS
|
2003-09-04 21:43:39 +02:00
|
|
|
/*** IUnknown methods ***/
|
|
|
|
#define IEnumIDList_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
|
|
|
#define IEnumIDList_AddRef(p) (p)->lpVtbl->AddRef(p)
|
|
|
|
#define IEnumIDList_Release(p) (p)->lpVtbl->Release(p)
|
|
|
|
/*** IEnumIDList methods ***/
|
|
|
|
#define IEnumIDList_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
|
|
|
|
#define IEnumIDList_Skip(p,a) (p)->lpVtbl->Skip(p,a)
|
|
|
|
#define IEnumIDList_Reset(p) (p)->lpVtbl->Reset(p)
|
|
|
|
#define IEnumIDList_Clone(p,a) (p)->lpVtbl->Clone(p,a)
|
2004-08-11 21:43:45 +02:00
|
|
|
#endif
|
2003-09-04 21:43:39 +02:00
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define IEnumIDList_METHODS \
|
|
|
|
/*** IUnknown methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
|
|
|
|
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
|
|
|
|
STDMETHOD_(ULONG,Release)(THIS) PURE; \
|
|
|
|
/*** IEnumIDList methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, LPITEMIDLIST* rgelt, ULONG* pceltFetched) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,Clone)(THIS_ IEnumIDList** ppenum) PURE;
|
|
|
|
|
|
|
|
HRESULT CALLBACK IEnumIDList_Next_Proxy(
|
|
|
|
IEnumIDList* This,
|
|
|
|
ULONG celt,
|
|
|
|
LPITEMIDLIST* rgelt,
|
|
|
|
ULONG* pceltFetched);
|
|
|
|
void __RPC_STUB IEnumIDList_Next_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IEnumIDList_Skip_Proxy(
|
|
|
|
IEnumIDList* This,
|
|
|
|
ULONG celt);
|
|
|
|
void __RPC_STUB IEnumIDList_Skip_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IEnumIDList_Reset_Proxy(
|
|
|
|
IEnumIDList* This);
|
|
|
|
void __RPC_STUB IEnumIDList_Reset_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IEnumIDList_Clone_Proxy(
|
|
|
|
IEnumIDList* This,
|
|
|
|
IEnumIDList** ppenum);
|
|
|
|
void __RPC_STUB IEnumIDList_Clone_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
|
|
|
|
#endif /* __IEnumIDList_INTERFACE_DEFINED__ */
|
|
|
|
|
|
|
|
#ifndef __IShellFolder_FWD_DEFINED__
|
|
|
|
#define __IShellFolder_FWD_DEFINED__
|
|
|
|
typedef struct IShellFolder IShellFolder;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
typedef IShellFolder *LPSHELLFOLDER;
|
|
|
|
|
|
|
|
typedef enum tagSHGDN {
|
|
|
|
SHGDN_NORMAL = 0,
|
|
|
|
SHGDN_INFOLDER = 1,
|
|
|
|
SHGDN_FOREDITING = 0x1000,
|
|
|
|
SHGDN_INCLUDE_NONFILESYS = 0x2000,
|
|
|
|
SHGDN_FORADDRESSBAR = 0x4000,
|
|
|
|
SHGDN_FORPARSING = 0x8000
|
|
|
|
} SHGNO;
|
|
|
|
|
|
|
|
typedef DWORD SHGDNF;
|
|
|
|
|
|
|
|
enum tagSHCONTF {
|
|
|
|
SHCONTF_FOLDERS = 32,
|
|
|
|
SHCONTF_NONFOLDERS = 64,
|
|
|
|
SHCONTF_INCLUDEHIDDEN = 128,
|
|
|
|
SHCONTF_INIT_ON_FIRST_NEXT = 256,
|
|
|
|
SHCONTF_NETPRINTERSRCH = 512,
|
|
|
|
SHCONTF_SHAREABLE = 1024,
|
|
|
|
SHCONTF_STORAGE = 2048
|
|
|
|
};
|
|
|
|
|
|
|
|
typedef DWORD SHCONTF;
|
|
|
|
|
|
|
|
#define SFGAO_CANCOPY DROPEFFECT_COPY
|
|
|
|
#define SFGAO_CANMOVE DROPEFFECT_MOVE
|
|
|
|
#define SFGAO_CANLINK DROPEFFECT_LINK
|
|
|
|
#define SFGAO_CANRENAME 0x00000010L
|
|
|
|
#define SFGAO_CANDELETE 0x00000020L
|
|
|
|
#define SFGAO_HASPROPSHEET 0x00000040L
|
|
|
|
#define SFGAO_DROPTARGET 0x00000100L
|
|
|
|
#define SFGAO_CAPABILITYMASK 0x00000177L
|
|
|
|
#define SFGAO_LINK 0x00010000L
|
|
|
|
#define SFGAO_SHARE 0x00020000L
|
|
|
|
#define SFGAO_READONLY 0x00040000L
|
|
|
|
#define SFGAO_GHOSTED 0x00080000L
|
|
|
|
#define SFGAO_HIDDEN 0x00080000L
|
|
|
|
#define SFGAO_DISPLAYATTRMASK 0x000F0000L
|
|
|
|
#define SFGAO_FILESYSANCESTOR 0x10000000L
|
|
|
|
#define SFGAO_FOLDER 0x20000000L
|
|
|
|
#define SFGAO_FILESYSTEM 0x40000000L
|
|
|
|
#define SFGAO_HASSUBFOLDER 0x80000000L
|
|
|
|
#define SFGAO_CONTENTSMASK 0x80000000L
|
|
|
|
#define SFGAO_VALIDATE 0x01000000L
|
|
|
|
#define SFGAO_REMOVABLE 0x02000000L
|
|
|
|
#define SFGAO_COMPRESSED 0x04000000L
|
|
|
|
#define SFGAO_BROWSABLE 0x08000000L
|
|
|
|
#define SFGAO_NONENUMERATED 0x00100000L
|
|
|
|
#define SFGAO_NEWCONTENT 0x00200000L
|
|
|
|
typedef ULONG SFGAOF;
|
|
|
|
|
|
|
|
/*****************************************************************************
|
|
|
|
* IShellFolder interface
|
|
|
|
*/
|
|
|
|
#ifndef __IShellFolder_INTERFACE_DEFINED__
|
|
|
|
#define __IShellFolder_INTERFACE_DEFINED__
|
|
|
|
|
|
|
|
DEFINE_GUID(IID_IShellFolder, 0x000214e6, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
struct IShellFolder : public IUnknown
|
|
|
|
{
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE ParseDisplayName(
|
|
|
|
HWND hwndOwner,
|
|
|
|
LPBC pbcReserved,
|
|
|
|
LPOLESTR lpszDisplayName,
|
|
|
|
ULONG* pchEaten,
|
|
|
|
LPITEMIDLIST* ppidl,
|
|
|
|
ULONG* pdwAttributes) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE EnumObjects(
|
|
|
|
HWND hwndOwner,
|
|
|
|
SHCONTF grfFlags,
|
|
|
|
IEnumIDList** ppenumIDList) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE BindToObject(
|
|
|
|
LPCITEMIDLIST pidl,
|
|
|
|
LPBC pbcReserved,
|
|
|
|
REFIID riid,
|
|
|
|
void** ppvOut) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE BindToStorage(
|
|
|
|
LPCITEMIDLIST pidl,
|
|
|
|
LPBC pbcReserved,
|
|
|
|
REFIID riid,
|
|
|
|
void** ppvObj) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE CompareIDs(
|
|
|
|
LPARAM lParam,
|
|
|
|
LPCITEMIDLIST pidl1,
|
|
|
|
LPCITEMIDLIST pidl2) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE CreateViewObject(
|
|
|
|
HWND hwndOwner,
|
|
|
|
REFIID riid,
|
|
|
|
void** ppvOut) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetAttributesOf(
|
|
|
|
UINT cidl,
|
|
|
|
LPCITEMIDLIST* apidl,
|
|
|
|
SFGAOF* rgfInOut) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetUIObjectOf(
|
|
|
|
HWND hwndOwner,
|
|
|
|
UINT cidl,
|
|
|
|
LPCITEMIDLIST* apidl,
|
|
|
|
REFIID riid,
|
|
|
|
UINT* prgfInOut,
|
|
|
|
void** ppvOut) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetDisplayNameOf(
|
|
|
|
LPCITEMIDLIST pidl,
|
|
|
|
SHGDNF uFlags,
|
|
|
|
STRRET* lpName) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetNameOf(
|
|
|
|
HWND hwnd,
|
|
|
|
LPCITEMIDLIST pidl,
|
|
|
|
LPCOLESTR lpszName,
|
|
|
|
SHGDNF uFlags,
|
|
|
|
LPITEMIDLIST* ppidlOut) = 0;
|
|
|
|
|
|
|
|
};
|
|
|
|
#else
|
|
|
|
typedef struct IShellFolderVtbl IShellFolderVtbl;
|
|
|
|
struct IShellFolder {
|
|
|
|
const IShellFolderVtbl* lpVtbl;
|
|
|
|
};
|
|
|
|
struct IShellFolderVtbl {
|
2004-08-22 04:25:05 +02:00
|
|
|
BEGIN_INTERFACE
|
2003-09-04 21:43:39 +02:00
|
|
|
|
|
|
|
/*** IUnknown methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
|
|
IShellFolder* This,
|
|
|
|
REFIID riid,
|
|
|
|
void** ppvObject);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
|
|
IShellFolder* This);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
|
|
IShellFolder* This);
|
|
|
|
|
|
|
|
/*** IShellFolder methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *ParseDisplayName)(
|
|
|
|
IShellFolder* This,
|
|
|
|
HWND hwndOwner,
|
|
|
|
LPBC pbcReserved,
|
|
|
|
LPOLESTR lpszDisplayName,
|
|
|
|
ULONG* pchEaten,
|
|
|
|
LPITEMIDLIST* ppidl,
|
|
|
|
ULONG* pdwAttributes);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *EnumObjects)(
|
|
|
|
IShellFolder* This,
|
|
|
|
HWND hwndOwner,
|
|
|
|
SHCONTF grfFlags,
|
|
|
|
IEnumIDList** ppenumIDList);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *BindToObject)(
|
|
|
|
IShellFolder* This,
|
|
|
|
LPCITEMIDLIST pidl,
|
|
|
|
LPBC pbcReserved,
|
|
|
|
REFIID riid,
|
|
|
|
void** ppvOut);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *BindToStorage)(
|
|
|
|
IShellFolder* This,
|
|
|
|
LPCITEMIDLIST pidl,
|
|
|
|
LPBC pbcReserved,
|
|
|
|
REFIID riid,
|
|
|
|
void** ppvObj);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *CompareIDs)(
|
|
|
|
IShellFolder* This,
|
|
|
|
LPARAM lParam,
|
|
|
|
LPCITEMIDLIST pidl1,
|
|
|
|
LPCITEMIDLIST pidl2);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *CreateViewObject)(
|
|
|
|
IShellFolder* This,
|
|
|
|
HWND hwndOwner,
|
|
|
|
REFIID riid,
|
|
|
|
void** ppvOut);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetAttributesOf)(
|
|
|
|
IShellFolder* This,
|
|
|
|
UINT cidl,
|
|
|
|
LPCITEMIDLIST* apidl,
|
|
|
|
SFGAOF* rgfInOut);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetUIObjectOf)(
|
|
|
|
IShellFolder* This,
|
|
|
|
HWND hwndOwner,
|
|
|
|
UINT cidl,
|
|
|
|
LPCITEMIDLIST* apidl,
|
|
|
|
REFIID riid,
|
|
|
|
UINT* prgfInOut,
|
|
|
|
void** ppvOut);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetDisplayNameOf)(
|
|
|
|
IShellFolder* This,
|
|
|
|
LPCITEMIDLIST pidl,
|
|
|
|
SHGDNF uFlags,
|
|
|
|
STRRET* lpName);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetNameOf)(
|
|
|
|
IShellFolder* This,
|
|
|
|
HWND hwnd,
|
|
|
|
LPCITEMIDLIST pidl,
|
|
|
|
LPCOLESTR lpszName,
|
|
|
|
SHGDNF uFlags,
|
|
|
|
LPITEMIDLIST* ppidlOut);
|
|
|
|
|
2004-08-22 04:25:05 +02:00
|
|
|
END_INTERFACE
|
2003-09-04 21:43:39 +02:00
|
|
|
};
|
|
|
|
|
2004-08-11 21:43:45 +02:00
|
|
|
#ifdef COBJMACROS
|
2003-09-04 21:43:39 +02:00
|
|
|
/*** IUnknown methods ***/
|
|
|
|
#define IShellFolder_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
|
|
|
#define IShellFolder_AddRef(p) (p)->lpVtbl->AddRef(p)
|
|
|
|
#define IShellFolder_Release(p) (p)->lpVtbl->Release(p)
|
|
|
|
/*** IShellFolder methods ***/
|
|
|
|
#define IShellFolder_ParseDisplayName(p,a,b,c,d,e,f) (p)->lpVtbl->ParseDisplayName(p,a,b,c,d,e,f)
|
|
|
|
#define IShellFolder_EnumObjects(p,a,b,c) (p)->lpVtbl->EnumObjects(p,a,b,c)
|
|
|
|
#define IShellFolder_BindToObject(p,a,b,c,d) (p)->lpVtbl->BindToObject(p,a,b,c,d)
|
|
|
|
#define IShellFolder_BindToStorage(p,a,b,c,d) (p)->lpVtbl->BindToStorage(p,a,b,c,d)
|
|
|
|
#define IShellFolder_CompareIDs(p,a,b,c) (p)->lpVtbl->CompareIDs(p,a,b,c)
|
|
|
|
#define IShellFolder_CreateViewObject(p,a,b,c) (p)->lpVtbl->CreateViewObject(p,a,b,c)
|
|
|
|
#define IShellFolder_GetAttributesOf(p,a,b,c) (p)->lpVtbl->GetAttributesOf(p,a,b,c)
|
|
|
|
#define IShellFolder_GetUIObjectOf(p,a,b,c,d,e,f) (p)->lpVtbl->GetUIObjectOf(p,a,b,c,d,e,f)
|
|
|
|
#define IShellFolder_GetDisplayNameOf(p,a,b,c) (p)->lpVtbl->GetDisplayNameOf(p,a,b,c)
|
|
|
|
#define IShellFolder_SetNameOf(p,a,b,c,d,e) (p)->lpVtbl->SetNameOf(p,a,b,c,d,e)
|
2004-08-11 21:43:45 +02:00
|
|
|
#endif
|
2003-09-04 21:43:39 +02:00
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define IShellFolder_METHODS \
|
|
|
|
/*** IUnknown methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
|
|
|
|
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
|
|
|
|
STDMETHOD_(ULONG,Release)(THIS) PURE; \
|
|
|
|
/*** IShellFolder methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,ParseDisplayName)(THIS_ HWND hwndOwner, LPBC pbcReserved, LPOLESTR lpszDisplayName, ULONG* pchEaten, LPITEMIDLIST* ppidl, ULONG* pdwAttributes) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,EnumObjects)(THIS_ HWND hwndOwner, SHCONTF grfFlags, IEnumIDList** ppenumIDList) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,BindToObject)(THIS_ LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, void** ppvOut) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,BindToStorage)(THIS_ LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, void** ppvObj) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,CompareIDs)(THIS_ LPARAM lParam, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,CreateViewObject)(THIS_ HWND hwndOwner, REFIID riid, void** ppvOut) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,GetAttributesOf)(THIS_ UINT cidl, LPCITEMIDLIST* apidl, SFGAOF* rgfInOut) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,GetUIObjectOf)(THIS_ HWND hwndOwner, UINT cidl, LPCITEMIDLIST* apidl, REFIID riid, UINT* prgfInOut, void** ppvOut) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,GetDisplayNameOf)(THIS_ LPCITEMIDLIST pidl, SHGDNF uFlags, STRRET* lpName) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,SetNameOf)(THIS_ HWND hwnd, LPCITEMIDLIST pidl, LPCOLESTR lpszName, SHGDNF uFlags, LPITEMIDLIST* ppidlOut) PURE;
|
|
|
|
|
|
|
|
HRESULT CALLBACK IShellFolder_ParseDisplayName_Proxy(
|
|
|
|
IShellFolder* This,
|
|
|
|
HWND hwndOwner,
|
|
|
|
LPBC pbcReserved,
|
|
|
|
LPOLESTR lpszDisplayName,
|
|
|
|
ULONG* pchEaten,
|
|
|
|
LPITEMIDLIST* ppidl,
|
|
|
|
ULONG* pdwAttributes);
|
|
|
|
void __RPC_STUB IShellFolder_ParseDisplayName_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellFolder_EnumObjects_Proxy(
|
|
|
|
IShellFolder* This,
|
|
|
|
HWND hwndOwner,
|
|
|
|
SHCONTF grfFlags,
|
|
|
|
IEnumIDList** ppenumIDList);
|
|
|
|
void __RPC_STUB IShellFolder_EnumObjects_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellFolder_BindToObject_Proxy(
|
|
|
|
IShellFolder* This,
|
|
|
|
LPCITEMIDLIST pidl,
|
|
|
|
LPBC pbcReserved,
|
|
|
|
REFIID riid,
|
|
|
|
void** ppvOut);
|
|
|
|
void __RPC_STUB IShellFolder_BindToObject_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellFolder_BindToStorage_Proxy(
|
|
|
|
IShellFolder* This,
|
|
|
|
LPCITEMIDLIST pidl,
|
|
|
|
LPBC pbcReserved,
|
|
|
|
REFIID riid,
|
|
|
|
void** ppvObj);
|
|
|
|
void __RPC_STUB IShellFolder_BindToStorage_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellFolder_CompareIDs_Proxy(
|
|
|
|
IShellFolder* This,
|
|
|
|
LPARAM lParam,
|
|
|
|
LPCITEMIDLIST pidl1,
|
|
|
|
LPCITEMIDLIST pidl2);
|
|
|
|
void __RPC_STUB IShellFolder_CompareIDs_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellFolder_CreateViewObject_Proxy(
|
|
|
|
IShellFolder* This,
|
|
|
|
HWND hwndOwner,
|
|
|
|
REFIID riid,
|
|
|
|
void** ppvOut);
|
|
|
|
void __RPC_STUB IShellFolder_CreateViewObject_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellFolder_GetAttributesOf_Proxy(
|
|
|
|
IShellFolder* This,
|
|
|
|
UINT cidl,
|
|
|
|
LPCITEMIDLIST* apidl,
|
|
|
|
SFGAOF* rgfInOut);
|
|
|
|
void __RPC_STUB IShellFolder_GetAttributesOf_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellFolder_GetUIObjectOf_Proxy(
|
|
|
|
IShellFolder* This,
|
|
|
|
HWND hwndOwner,
|
|
|
|
UINT cidl,
|
|
|
|
LPCITEMIDLIST* apidl,
|
|
|
|
REFIID riid,
|
|
|
|
UINT* prgfInOut,
|
|
|
|
void** ppvOut);
|
|
|
|
void __RPC_STUB IShellFolder_GetUIObjectOf_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellFolder_GetDisplayNameOf_Proxy(
|
|
|
|
IShellFolder* This,
|
|
|
|
LPCITEMIDLIST pidl,
|
|
|
|
SHGDNF uFlags,
|
|
|
|
STRRET* lpName);
|
|
|
|
void __RPC_STUB IShellFolder_GetDisplayNameOf_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellFolder_SetNameOf_Proxy(
|
|
|
|
IShellFolder* This,
|
|
|
|
HWND hwnd,
|
|
|
|
LPCITEMIDLIST pidl,
|
|
|
|
LPCOLESTR lpszName,
|
|
|
|
SHGDNF uFlags,
|
|
|
|
LPITEMIDLIST* ppidlOut);
|
|
|
|
void __RPC_STUB IShellFolder_SetNameOf_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
|
|
|
|
#endif /* __IShellFolder_INTERFACE_DEFINED__ */
|
|
|
|
|
|
|
|
#ifndef __IEnumExtraSearch_FWD_DEFINED__
|
|
|
|
#define __IEnumExtraSearch_FWD_DEFINED__
|
|
|
|
typedef struct IEnumExtraSearch IEnumExtraSearch;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
typedef IEnumExtraSearch *LPENUMEXTRASEARCH;
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
GUID guidSearch;
|
|
|
|
WCHAR wszFriendlyName[80];
|
|
|
|
WCHAR wszUrl[2084];
|
|
|
|
} EXTRASEARCH, *LPEXTRASEARCH;
|
|
|
|
|
|
|
|
/*****************************************************************************
|
|
|
|
* IEnumExtraSearch interface
|
|
|
|
*/
|
|
|
|
#ifndef __IEnumExtraSearch_INTERFACE_DEFINED__
|
|
|
|
#define __IEnumExtraSearch_INTERFACE_DEFINED__
|
|
|
|
|
|
|
|
DEFINE_GUID(IID_IEnumExtraSearch, 0x0e700be1, 0x9db6, 0x11d1, 0xa1,0xce, 0x00,0xc0,0x4f,0xd7,0x5d,0x13);
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
struct IEnumExtraSearch : public IUnknown
|
|
|
|
{
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Next(
|
|
|
|
ULONG celt,
|
|
|
|
EXTRASEARCH* rgelt,
|
|
|
|
ULONG* pceltFetched) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Skip(
|
|
|
|
ULONG celt) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Reset(
|
|
|
|
) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Clone(
|
|
|
|
IEnumExtraSearch** ppenum) = 0;
|
|
|
|
|
|
|
|
};
|
|
|
|
#else
|
|
|
|
typedef struct IEnumExtraSearchVtbl IEnumExtraSearchVtbl;
|
|
|
|
struct IEnumExtraSearch {
|
|
|
|
const IEnumExtraSearchVtbl* lpVtbl;
|
|
|
|
};
|
|
|
|
struct IEnumExtraSearchVtbl {
|
2004-08-22 04:25:05 +02:00
|
|
|
BEGIN_INTERFACE
|
2003-09-04 21:43:39 +02:00
|
|
|
|
|
|
|
/*** IUnknown methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
|
|
IEnumExtraSearch* This,
|
|
|
|
REFIID riid,
|
|
|
|
void** ppvObject);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
|
|
IEnumExtraSearch* This);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
|
|
IEnumExtraSearch* This);
|
|
|
|
|
|
|
|
/*** IEnumExtraSearch methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Next)(
|
|
|
|
IEnumExtraSearch* This,
|
|
|
|
ULONG celt,
|
|
|
|
EXTRASEARCH* rgelt,
|
|
|
|
ULONG* pceltFetched);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Skip)(
|
|
|
|
IEnumExtraSearch* This,
|
|
|
|
ULONG celt);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Reset)(
|
|
|
|
IEnumExtraSearch* This);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Clone)(
|
|
|
|
IEnumExtraSearch* This,
|
|
|
|
IEnumExtraSearch** ppenum);
|
|
|
|
|
2004-08-22 04:25:05 +02:00
|
|
|
END_INTERFACE
|
2003-09-04 21:43:39 +02:00
|
|
|
};
|
|
|
|
|
2004-08-11 21:43:45 +02:00
|
|
|
#ifdef COBJMACROS
|
2003-09-04 21:43:39 +02:00
|
|
|
/*** IUnknown methods ***/
|
|
|
|
#define IEnumExtraSearch_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
|
|
|
#define IEnumExtraSearch_AddRef(p) (p)->lpVtbl->AddRef(p)
|
|
|
|
#define IEnumExtraSearch_Release(p) (p)->lpVtbl->Release(p)
|
|
|
|
/*** IEnumExtraSearch methods ***/
|
|
|
|
#define IEnumExtraSearch_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
|
|
|
|
#define IEnumExtraSearch_Skip(p,a) (p)->lpVtbl->Skip(p,a)
|
|
|
|
#define IEnumExtraSearch_Reset(p) (p)->lpVtbl->Reset(p)
|
|
|
|
#define IEnumExtraSearch_Clone(p,a) (p)->lpVtbl->Clone(p,a)
|
2004-08-11 21:43:45 +02:00
|
|
|
#endif
|
2003-09-04 21:43:39 +02:00
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define IEnumExtraSearch_METHODS \
|
|
|
|
/*** IUnknown methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
|
|
|
|
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
|
|
|
|
STDMETHOD_(ULONG,Release)(THIS) PURE; \
|
|
|
|
/*** IEnumExtraSearch methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, EXTRASEARCH* rgelt, ULONG* pceltFetched) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,Clone)(THIS_ IEnumExtraSearch** ppenum) PURE;
|
|
|
|
|
|
|
|
HRESULT CALLBACK IEnumExtraSearch_Next_Proxy(
|
|
|
|
IEnumExtraSearch* This,
|
|
|
|
ULONG celt,
|
|
|
|
EXTRASEARCH* rgelt,
|
|
|
|
ULONG* pceltFetched);
|
|
|
|
void __RPC_STUB IEnumExtraSearch_Next_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IEnumExtraSearch_Skip_Proxy(
|
|
|
|
IEnumExtraSearch* This,
|
|
|
|
ULONG celt);
|
|
|
|
void __RPC_STUB IEnumExtraSearch_Skip_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IEnumExtraSearch_Reset_Proxy(
|
|
|
|
IEnumExtraSearch* This);
|
|
|
|
void __RPC_STUB IEnumExtraSearch_Reset_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IEnumExtraSearch_Clone_Proxy(
|
|
|
|
IEnumExtraSearch* This,
|
|
|
|
IEnumExtraSearch** ppenum);
|
|
|
|
void __RPC_STUB IEnumExtraSearch_Clone_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
|
|
|
|
#endif /* __IEnumExtraSearch_INTERFACE_DEFINED__ */
|
|
|
|
|
|
|
|
#ifndef __IShellFolder2_FWD_DEFINED__
|
|
|
|
#define __IShellFolder2_FWD_DEFINED__
|
|
|
|
typedef struct IShellFolder2 IShellFolder2;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
typedef enum {
|
|
|
|
SHCOLSTATE_TYPE_STR = 0x1,
|
|
|
|
SHCOLSTATE_TYPE_INT = 0x2,
|
|
|
|
SHCOLSTATE_TYPE_DATE = 0x3,
|
|
|
|
SHCOLSTATE_TYPEMASK = 0xf,
|
|
|
|
SHCOLSTATE_ONBYDEFAULT = 0x10,
|
|
|
|
SHCOLSTATE_SLOW = 0x20,
|
|
|
|
SHCOLSTATE_EXTENDED = 0x40,
|
|
|
|
SHCOLSTATE_SECONDARYUI = 0x80,
|
|
|
|
SHCOLSTATE_HIDDEN = 0x100,
|
|
|
|
SHCOLSTATE_PREFER_VARCMP = 0x200
|
|
|
|
} SHCOLSTATE;
|
|
|
|
|
|
|
|
typedef DWORD SHCOLSTATEF;
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
GUID fmtid;
|
|
|
|
DWORD pid;
|
|
|
|
} SHCOLUMNID, *LPSHCOLUMNID;
|
|
|
|
|
|
|
|
typedef const SHCOLUMNID *LPCSHCOLUMNID;
|
|
|
|
|
|
|
|
/*****************************************************************************
|
|
|
|
* IShellFolder2 interface
|
|
|
|
*/
|
|
|
|
#ifndef __IShellFolder2_INTERFACE_DEFINED__
|
|
|
|
#define __IShellFolder2_INTERFACE_DEFINED__
|
|
|
|
|
|
|
|
DEFINE_GUID(IID_IShellFolder2, 0x93f2f68c, 0x1d1b, 0x11d3, 0xa3,0x0e, 0x00,0xc0,0x4f,0x79,0xab,0xd1);
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
struct IShellFolder2 : public IShellFolder
|
|
|
|
{
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetDefaultSearchGUID(
|
|
|
|
GUID* lpguid) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE EnumSearches(
|
|
|
|
IEnumExtraSearch** ppenum) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetDefaultColumn(
|
|
|
|
DWORD dwReserved,
|
|
|
|
ULONG* pSort,
|
|
|
|
ULONG* pDisplay) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetDefaultColumnState(
|
|
|
|
UINT iColumn,
|
|
|
|
SHCOLSTATEF* pcsFlags) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetDetailsEx(
|
|
|
|
LPCITEMIDLIST pidl,
|
|
|
|
const SHCOLUMNID* pscid,
|
|
|
|
VARIANT* pv) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetDetailsOf(
|
|
|
|
LPCITEMIDLIST pidl,
|
|
|
|
UINT iColumn,
|
|
|
|
SHELLDETAILS* psd) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE MapColumnToSCID(
|
|
|
|
UINT iColumn,
|
|
|
|
SHCOLUMNID* pscid) = 0;
|
|
|
|
|
|
|
|
};
|
|
|
|
#else
|
|
|
|
typedef struct IShellFolder2Vtbl IShellFolder2Vtbl;
|
|
|
|
struct IShellFolder2 {
|
|
|
|
const IShellFolder2Vtbl* lpVtbl;
|
|
|
|
};
|
|
|
|
struct IShellFolder2Vtbl {
|
2004-08-22 04:25:05 +02:00
|
|
|
BEGIN_INTERFACE
|
2003-09-04 21:43:39 +02:00
|
|
|
|
|
|
|
/*** IUnknown methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
|
|
IShellFolder2* This,
|
|
|
|
REFIID riid,
|
|
|
|
void** ppvObject);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
|
|
IShellFolder2* This);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
|
|
IShellFolder2* This);
|
|
|
|
|
|
|
|
/*** IShellFolder methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *ParseDisplayName)(
|
|
|
|
IShellFolder2* This,
|
|
|
|
HWND hwndOwner,
|
|
|
|
LPBC pbcReserved,
|
|
|
|
LPOLESTR lpszDisplayName,
|
|
|
|
ULONG* pchEaten,
|
|
|
|
LPITEMIDLIST* ppidl,
|
|
|
|
ULONG* pdwAttributes);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *EnumObjects)(
|
|
|
|
IShellFolder2* This,
|
|
|
|
HWND hwndOwner,
|
|
|
|
SHCONTF grfFlags,
|
|
|
|
IEnumIDList** ppenumIDList);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *BindToObject)(
|
|
|
|
IShellFolder2* This,
|
|
|
|
LPCITEMIDLIST pidl,
|
|
|
|
LPBC pbcReserved,
|
|
|
|
REFIID riid,
|
|
|
|
void** ppvOut);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *BindToStorage)(
|
|
|
|
IShellFolder2* This,
|
|
|
|
LPCITEMIDLIST pidl,
|
|
|
|
LPBC pbcReserved,
|
|
|
|
REFIID riid,
|
|
|
|
void** ppvObj);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *CompareIDs)(
|
|
|
|
IShellFolder2* This,
|
|
|
|
LPARAM lParam,
|
|
|
|
LPCITEMIDLIST pidl1,
|
|
|
|
LPCITEMIDLIST pidl2);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *CreateViewObject)(
|
|
|
|
IShellFolder2* This,
|
|
|
|
HWND hwndOwner,
|
|
|
|
REFIID riid,
|
|
|
|
void** ppvOut);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetAttributesOf)(
|
|
|
|
IShellFolder2* This,
|
|
|
|
UINT cidl,
|
|
|
|
LPCITEMIDLIST* apidl,
|
|
|
|
SFGAOF* rgfInOut);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetUIObjectOf)(
|
|
|
|
IShellFolder2* This,
|
|
|
|
HWND hwndOwner,
|
|
|
|
UINT cidl,
|
|
|
|
LPCITEMIDLIST* apidl,
|
|
|
|
REFIID riid,
|
|
|
|
UINT* prgfInOut,
|
|
|
|
void** ppvOut);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetDisplayNameOf)(
|
|
|
|
IShellFolder2* This,
|
|
|
|
LPCITEMIDLIST pidl,
|
|
|
|
SHGDNF uFlags,
|
|
|
|
STRRET* lpName);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetNameOf)(
|
|
|
|
IShellFolder2* This,
|
|
|
|
HWND hwnd,
|
|
|
|
LPCITEMIDLIST pidl,
|
|
|
|
LPCOLESTR lpszName,
|
|
|
|
SHGDNF uFlags,
|
|
|
|
LPITEMIDLIST* ppidlOut);
|
|
|
|
|
|
|
|
/*** IShellFolder2 methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetDefaultSearchGUID)(
|
|
|
|
IShellFolder2* This,
|
|
|
|
GUID* lpguid);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *EnumSearches)(
|
|
|
|
IShellFolder2* This,
|
|
|
|
IEnumExtraSearch** ppenum);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetDefaultColumn)(
|
|
|
|
IShellFolder2* This,
|
|
|
|
DWORD dwReserved,
|
|
|
|
ULONG* pSort,
|
|
|
|
ULONG* pDisplay);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetDefaultColumnState)(
|
|
|
|
IShellFolder2* This,
|
|
|
|
UINT iColumn,
|
|
|
|
SHCOLSTATEF* pcsFlags);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetDetailsEx)(
|
|
|
|
IShellFolder2* This,
|
|
|
|
LPCITEMIDLIST pidl,
|
|
|
|
const SHCOLUMNID* pscid,
|
|
|
|
VARIANT* pv);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetDetailsOf)(
|
|
|
|
IShellFolder2* This,
|
|
|
|
LPCITEMIDLIST pidl,
|
|
|
|
UINT iColumn,
|
|
|
|
SHELLDETAILS* psd);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *MapColumnToSCID)(
|
|
|
|
IShellFolder2* This,
|
|
|
|
UINT iColumn,
|
|
|
|
SHCOLUMNID* pscid);
|
|
|
|
|
2004-08-22 04:25:05 +02:00
|
|
|
END_INTERFACE
|
2003-09-04 21:43:39 +02:00
|
|
|
};
|
|
|
|
|
2004-08-11 21:43:45 +02:00
|
|
|
#ifdef COBJMACROS
|
2003-09-04 21:43:39 +02:00
|
|
|
/*** IUnknown methods ***/
|
|
|
|
#define IShellFolder2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
|
|
|
#define IShellFolder2_AddRef(p) (p)->lpVtbl->AddRef(p)
|
|
|
|
#define IShellFolder2_Release(p) (p)->lpVtbl->Release(p)
|
|
|
|
/*** IShellFolder methods ***/
|
|
|
|
#define IShellFolder2_ParseDisplayName(p,a,b,c,d,e,f) (p)->lpVtbl->ParseDisplayName(p,a,b,c,d,e,f)
|
|
|
|
#define IShellFolder2_EnumObjects(p,a,b,c) (p)->lpVtbl->EnumObjects(p,a,b,c)
|
|
|
|
#define IShellFolder2_BindToObject(p,a,b,c,d) (p)->lpVtbl->BindToObject(p,a,b,c,d)
|
|
|
|
#define IShellFolder2_BindToStorage(p,a,b,c,d) (p)->lpVtbl->BindToStorage(p,a,b,c,d)
|
|
|
|
#define IShellFolder2_CompareIDs(p,a,b,c) (p)->lpVtbl->CompareIDs(p,a,b,c)
|
|
|
|
#define IShellFolder2_CreateViewObject(p,a,b,c) (p)->lpVtbl->CreateViewObject(p,a,b,c)
|
|
|
|
#define IShellFolder2_GetAttributesOf(p,a,b,c) (p)->lpVtbl->GetAttributesOf(p,a,b,c)
|
|
|
|
#define IShellFolder2_GetUIObjectOf(p,a,b,c,d,e,f) (p)->lpVtbl->GetUIObjectOf(p,a,b,c,d,e,f)
|
|
|
|
#define IShellFolder2_GetDisplayNameOf(p,a,b,c) (p)->lpVtbl->GetDisplayNameOf(p,a,b,c)
|
|
|
|
#define IShellFolder2_SetNameOf(p,a,b,c,d,e) (p)->lpVtbl->SetNameOf(p,a,b,c,d,e)
|
|
|
|
/*** IShellFolder2 methods ***/
|
|
|
|
#define IShellFolder2_GetDefaultSearchGUID(p,a) (p)->lpVtbl->GetDefaultSearchGUID(p,a)
|
|
|
|
#define IShellFolder2_EnumSearches(p,a) (p)->lpVtbl->EnumSearches(p,a)
|
|
|
|
#define IShellFolder2_GetDefaultColumn(p,a,b,c) (p)->lpVtbl->GetDefaultColumn(p,a,b,c)
|
|
|
|
#define IShellFolder2_GetDefaultColumnState(p,a,b) (p)->lpVtbl->GetDefaultColumnState(p,a,b)
|
|
|
|
#define IShellFolder2_GetDetailsEx(p,a,b,c) (p)->lpVtbl->GetDetailsEx(p,a,b,c)
|
|
|
|
#define IShellFolder2_GetDetailsOf(p,a,b,c) (p)->lpVtbl->GetDetailsOf(p,a,b,c)
|
|
|
|
#define IShellFolder2_MapColumnToSCID(p,a,b) (p)->lpVtbl->MapColumnToSCID(p,a,b)
|
2004-08-11 21:43:45 +02:00
|
|
|
#endif
|
2003-09-04 21:43:39 +02:00
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define IShellFolder2_METHODS \
|
|
|
|
/*** IUnknown methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
|
|
|
|
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
|
|
|
|
STDMETHOD_(ULONG,Release)(THIS) PURE; \
|
|
|
|
/*** IShellFolder methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,ParseDisplayName)(THIS_ HWND hwndOwner, LPBC pbcReserved, LPOLESTR lpszDisplayName, ULONG* pchEaten, LPITEMIDLIST* ppidl, ULONG* pdwAttributes) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,EnumObjects)(THIS_ HWND hwndOwner, SHCONTF grfFlags, IEnumIDList** ppenumIDList) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,BindToObject)(THIS_ LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, void** ppvOut) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,BindToStorage)(THIS_ LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, void** ppvObj) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,CompareIDs)(THIS_ LPARAM lParam, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,CreateViewObject)(THIS_ HWND hwndOwner, REFIID riid, void** ppvOut) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,GetAttributesOf)(THIS_ UINT cidl, LPCITEMIDLIST* apidl, SFGAOF* rgfInOut) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,GetUIObjectOf)(THIS_ HWND hwndOwner, UINT cidl, LPCITEMIDLIST* apidl, REFIID riid, UINT* prgfInOut, void** ppvOut) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,GetDisplayNameOf)(THIS_ LPCITEMIDLIST pidl, SHGDNF uFlags, STRRET* lpName) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,SetNameOf)(THIS_ HWND hwnd, LPCITEMIDLIST pidl, LPCOLESTR lpszName, SHGDNF uFlags, LPITEMIDLIST* ppidlOut) PURE; \
|
|
|
|
/*** IShellFolder2 methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,GetDefaultSearchGUID)(THIS_ GUID* lpguid) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,EnumSearches)(THIS_ IEnumExtraSearch** ppenum) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,GetDefaultColumn)(THIS_ DWORD dwReserved, ULONG* pSort, ULONG* pDisplay) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,GetDefaultColumnState)(THIS_ UINT iColumn, SHCOLSTATEF* pcsFlags) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,GetDetailsEx)(THIS_ LPCITEMIDLIST pidl, const SHCOLUMNID* pscid, VARIANT* pv) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,GetDetailsOf)(THIS_ LPCITEMIDLIST pidl, UINT iColumn, SHELLDETAILS* psd) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,MapColumnToSCID)(THIS_ UINT iColumn, SHCOLUMNID* pscid) PURE;
|
|
|
|
|
|
|
|
HRESULT CALLBACK IShellFolder2_GetDefaultSearchGUID_Proxy(
|
|
|
|
IShellFolder2* This,
|
|
|
|
GUID* lpguid);
|
|
|
|
void __RPC_STUB IShellFolder2_GetDefaultSearchGUID_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellFolder2_EnumSearches_Proxy(
|
|
|
|
IShellFolder2* This,
|
|
|
|
IEnumExtraSearch** ppenum);
|
|
|
|
void __RPC_STUB IShellFolder2_EnumSearches_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellFolder2_GetDefaultColumn_Proxy(
|
|
|
|
IShellFolder2* This,
|
|
|
|
DWORD dwReserved,
|
|
|
|
ULONG* pSort,
|
|
|
|
ULONG* pDisplay);
|
|
|
|
void __RPC_STUB IShellFolder2_GetDefaultColumn_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellFolder2_GetDefaultColumnState_Proxy(
|
|
|
|
IShellFolder2* This,
|
|
|
|
UINT iColumn,
|
|
|
|
SHCOLSTATEF* pcsFlags);
|
|
|
|
void __RPC_STUB IShellFolder2_GetDefaultColumnState_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellFolder2_GetDetailsEx_Proxy(
|
|
|
|
IShellFolder2* This,
|
|
|
|
LPCITEMIDLIST pidl,
|
|
|
|
const SHCOLUMNID* pscid,
|
|
|
|
VARIANT* pv);
|
|
|
|
void __RPC_STUB IShellFolder2_GetDetailsEx_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellFolder2_GetDetailsOf_Proxy(
|
|
|
|
IShellFolder2* This,
|
|
|
|
LPCITEMIDLIST pidl,
|
|
|
|
UINT iColumn,
|
|
|
|
SHELLDETAILS* psd);
|
|
|
|
void __RPC_STUB IShellFolder2_GetDetailsOf_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellFolder2_MapColumnToSCID_Proxy(
|
|
|
|
IShellFolder2* This,
|
|
|
|
UINT iColumn,
|
|
|
|
SHCOLUMNID* pscid);
|
|
|
|
void __RPC_STUB IShellFolder2_MapColumnToSCID_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
|
|
|
|
#endif /* __IShellFolder2_INTERFACE_DEFINED__ */
|
|
|
|
|
|
|
|
typedef char *LPVIEWSETTINGS;
|
|
|
|
|
|
|
|
typedef enum {
|
|
|
|
FWF_AUTOARRANGE = 0x1,
|
|
|
|
FWF_ABBREVIATEDNAMES = 0x2,
|
|
|
|
FWF_SNAPTOGRID = 0x4,
|
|
|
|
FWF_OWNERDATA = 0x8,
|
|
|
|
FWF_BESTFITWINDOW = 0x10,
|
|
|
|
FWF_DESKTOP = 0x20,
|
|
|
|
FWF_SINGLESEL = 0x40,
|
|
|
|
FWF_NOSUBFOLDERS = 0x80,
|
|
|
|
FWF_TRANSPARENT = 0x100,
|
|
|
|
FWF_NOCLIENTEDGE = 0x200,
|
|
|
|
FWF_NOSCROLL = 0x400,
|
|
|
|
FWF_ALIGNLEFT = 0x800,
|
|
|
|
FWF_NOICONS = 0x1000,
|
|
|
|
FWF_SHOWSELALWAYS = 0x2000,
|
|
|
|
FWF_NOVISIBLE = 0x4000,
|
|
|
|
FWF_SINGLECLICKACTIVATE = 0x8000,
|
|
|
|
FWF_NOWEBVIEW = 0x10000,
|
|
|
|
FWF_HIDEFILENAMES = 0x20000,
|
|
|
|
FWF_CHECKSELECT = 0x40000
|
|
|
|
} FOLDERFLAGS;
|
|
|
|
|
|
|
|
typedef enum {
|
|
|
|
FVM_ICON = 1,
|
|
|
|
FVM_FIRST = FVM_ICON,
|
|
|
|
FVM_SMALLICON = 2,
|
|
|
|
FVM_LIST = 3,
|
|
|
|
FVM_DETAILS = 4,
|
|
|
|
FVM_THUMBNAIL = 5,
|
|
|
|
FVM_TILE = 6,
|
|
|
|
FVM_THUMBSTRIP = 7,
|
|
|
|
FVM_LAST = FVM_THUMBSTRIP
|
|
|
|
} FOLDERVIEWMODE;
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
UINT ViewMode;
|
|
|
|
UINT fFlags;
|
|
|
|
} FOLDERSETTINGS, *PFOLDERSETTINGS, *LPFOLDERSETTINGS;
|
|
|
|
|
|
|
|
typedef const FOLDERSETTINGS *LPCFOLDERSETTINGS;
|
|
|
|
|
|
|
|
#ifndef __IShellBrowser_FWD_DEFINED__
|
|
|
|
#define __IShellBrowser_FWD_DEFINED__
|
|
|
|
typedef struct IShellBrowser IShellBrowser;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef __IShellView_FWD_DEFINED__
|
|
|
|
#define __IShellView_FWD_DEFINED__
|
|
|
|
typedef struct IShellView IShellView;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
typedef IShellView *LPSHELLVIEW;
|
|
|
|
|
|
|
|
#define SVSI_DESELECT 0x00000000
|
|
|
|
#define SVSI_SELECT 0x00000001
|
|
|
|
#define SVSI_EDIT 0x00000003
|
|
|
|
#define SVSI_DESELECTOTHERS 0x00000004
|
|
|
|
#define SVSI_ENSUREVISIBLE 0x00000008
|
|
|
|
#define SVSI_FOCUSED 0x00000010
|
|
|
|
#define SVSI_TRANSLATEPT 0x00000020
|
|
|
|
#define SVSI_SELECTIONMARK 0x00000040
|
|
|
|
#define SVSI_POSITIONITEM 0x00000080
|
|
|
|
#define SVSI_CHECK 0x00000100
|
|
|
|
#define SVSI_NOSTATECHANGE 0x80000000
|
|
|
|
typedef UINT SVSIF;
|
|
|
|
|
|
|
|
typedef enum {
|
|
|
|
SVGIO_BACKGROUND = 0x0,
|
|
|
|
SVGIO_SELECTION = 0x1,
|
|
|
|
SVGIO_ALLVIEW = 0x2,
|
|
|
|
SVGIO_CHECKED = 0x3,
|
|
|
|
SVGIO_TYPE_MASK = 0xf,
|
|
|
|
SVGIO_FLAG_VIEWORDER = 0x80000000
|
|
|
|
} SVGIO;
|
|
|
|
|
|
|
|
typedef enum {
|
|
|
|
SVUIA_DEACTIVATE = 0,
|
|
|
|
SVUIA_ACTIVATE_NOFOCUS = 1,
|
|
|
|
SVUIA_ACTIVATE_FOCUS = 2,
|
|
|
|
SVUIA_INPLACEACTIVATE = 3
|
|
|
|
} SVUIA_STATUS;
|
|
|
|
|
|
|
|
#if 0
|
|
|
|
typedef LPARAM LPFNSVADDPROPSHEETPAGE;
|
|
|
|
|
|
|
|
#else
|
|
|
|
#include <prsht.h>
|
|
|
|
typedef LPFNADDPROPSHEETPAGE LPFNSVADDPROPSHEETPAGE;
|
|
|
|
#endif
|
|
|
|
/*****************************************************************************
|
|
|
|
* IShellView interface
|
|
|
|
*/
|
|
|
|
#ifndef __IShellView_INTERFACE_DEFINED__
|
|
|
|
#define __IShellView_INTERFACE_DEFINED__
|
|
|
|
|
|
|
|
DEFINE_GUID(IID_IShellView, 0x000214e3, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
struct IShellView : public IOleWindow
|
|
|
|
{
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(
|
|
|
|
MSG* pmsg) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE EnableModeless(
|
|
|
|
BOOL fEnable) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE UIActivate(
|
|
|
|
UINT uState) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Refresh(
|
|
|
|
) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE CreateViewWindow(
|
|
|
|
IShellView* psvPrevious,
|
|
|
|
LPCFOLDERSETTINGS lpfs,
|
|
|
|
IShellBrowser* psb,
|
|
|
|
RECT* prcView,
|
|
|
|
HWND* phWnd) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE DestroyViewWindow(
|
|
|
|
) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetCurrentInfo(
|
|
|
|
LPFOLDERSETTINGS lpfs) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE AddPropertySheetPages(
|
|
|
|
DWORD dwReserved,
|
|
|
|
LPFNSVADDPROPSHEETPAGE pfn,
|
|
|
|
LPARAM lparam) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SaveViewState(
|
|
|
|
) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SelectItem(
|
|
|
|
LPCITEMIDLIST pidlItem,
|
|
|
|
SVSIF uFlags) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetItemObject(
|
|
|
|
UINT uItem,
|
|
|
|
REFIID riid,
|
|
|
|
void** ppv) = 0;
|
|
|
|
|
|
|
|
};
|
|
|
|
#else
|
|
|
|
typedef struct IShellViewVtbl IShellViewVtbl;
|
|
|
|
struct IShellView {
|
|
|
|
const IShellViewVtbl* lpVtbl;
|
|
|
|
};
|
|
|
|
struct IShellViewVtbl {
|
2004-08-22 04:25:05 +02:00
|
|
|
BEGIN_INTERFACE
|
2003-09-04 21:43:39 +02:00
|
|
|
|
|
|
|
/*** IUnknown methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
|
|
IShellView* This,
|
|
|
|
REFIID riid,
|
|
|
|
void** ppvObject);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
|
|
IShellView* This);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
|
|
IShellView* This);
|
|
|
|
|
|
|
|
/*** IOleWindow methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetWindow)(
|
|
|
|
IShellView* This,
|
|
|
|
HWND* phwnd);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
|
|
|
|
IShellView* This,
|
|
|
|
BOOL fEnterMode);
|
|
|
|
|
|
|
|
/*** IShellView methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)(
|
|
|
|
IShellView* This,
|
|
|
|
MSG* pmsg);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *EnableModeless)(
|
|
|
|
IShellView* This,
|
|
|
|
BOOL fEnable);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *UIActivate)(
|
|
|
|
IShellView* This,
|
|
|
|
UINT uState);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Refresh)(
|
|
|
|
IShellView* This);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *CreateViewWindow)(
|
|
|
|
IShellView* This,
|
|
|
|
IShellView* psvPrevious,
|
|
|
|
LPCFOLDERSETTINGS lpfs,
|
|
|
|
IShellBrowser* psb,
|
|
|
|
RECT* prcView,
|
|
|
|
HWND* phWnd);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *DestroyViewWindow)(
|
|
|
|
IShellView* This);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetCurrentInfo)(
|
|
|
|
IShellView* This,
|
|
|
|
LPFOLDERSETTINGS lpfs);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *AddPropertySheetPages)(
|
|
|
|
IShellView* This,
|
|
|
|
DWORD dwReserved,
|
|
|
|
LPFNSVADDPROPSHEETPAGE pfn,
|
|
|
|
LPARAM lparam);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SaveViewState)(
|
|
|
|
IShellView* This);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SelectItem)(
|
|
|
|
IShellView* This,
|
|
|
|
LPCITEMIDLIST pidlItem,
|
|
|
|
SVSIF uFlags);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetItemObject)(
|
|
|
|
IShellView* This,
|
|
|
|
UINT uItem,
|
|
|
|
REFIID riid,
|
|
|
|
void** ppv);
|
|
|
|
|
2004-08-22 04:25:05 +02:00
|
|
|
END_INTERFACE
|
2003-09-04 21:43:39 +02:00
|
|
|
};
|
|
|
|
|
2004-08-11 21:43:45 +02:00
|
|
|
#ifdef COBJMACROS
|
2003-09-04 21:43:39 +02:00
|
|
|
/*** IUnknown methods ***/
|
|
|
|
#define IShellView_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
|
|
|
#define IShellView_AddRef(p) (p)->lpVtbl->AddRef(p)
|
|
|
|
#define IShellView_Release(p) (p)->lpVtbl->Release(p)
|
|
|
|
/*** IOleWindow methods ***/
|
|
|
|
#define IShellView_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
|
|
|
|
#define IShellView_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
|
|
|
|
/*** IShellView methods ***/
|
|
|
|
#define IShellView_TranslateAccelerator(p,a) (p)->lpVtbl->TranslateAccelerator(p,a)
|
|
|
|
#define IShellView_EnableModeless(p,a) (p)->lpVtbl->EnableModeless(p,a)
|
|
|
|
#define IShellView_UIActivate(p,a) (p)->lpVtbl->UIActivate(p,a)
|
|
|
|
#define IShellView_Refresh(p) (p)->lpVtbl->Refresh(p)
|
|
|
|
#define IShellView_CreateViewWindow(p,a,b,c,d,e) (p)->lpVtbl->CreateViewWindow(p,a,b,c,d,e)
|
|
|
|
#define IShellView_DestroyViewWindow(p) (p)->lpVtbl->DestroyViewWindow(p)
|
|
|
|
#define IShellView_GetCurrentInfo(p,a) (p)->lpVtbl->GetCurrentInfo(p,a)
|
|
|
|
#define IShellView_AddPropertySheetPages(p,a,b,c) (p)->lpVtbl->AddPropertySheetPages(p,a,b,c)
|
|
|
|
#define IShellView_SaveViewState(p) (p)->lpVtbl->SaveViewState(p)
|
|
|
|
#define IShellView_SelectItem(p,a,b) (p)->lpVtbl->SelectItem(p,a,b)
|
|
|
|
#define IShellView_GetItemObject(p,a,b,c) (p)->lpVtbl->GetItemObject(p,a,b,c)
|
2004-08-11 21:43:45 +02:00
|
|
|
#endif
|
2003-09-04 21:43:39 +02:00
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define IShellView_METHODS \
|
|
|
|
/*** IUnknown methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
|
|
|
|
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
|
|
|
|
STDMETHOD_(ULONG,Release)(THIS) PURE; \
|
|
|
|
/*** IOleWindow methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND* phwnd) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE; \
|
|
|
|
/*** IShellView methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,TranslateAccelerator)(THIS_ MSG* pmsg) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,EnableModeless)(THIS_ BOOL fEnable) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,UIActivate)(THIS_ UINT uState) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,Refresh)(THIS) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,CreateViewWindow)(THIS_ IShellView* psvPrevious, LPCFOLDERSETTINGS lpfs, IShellBrowser* psb, RECT* prcView, HWND* phWnd) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,DestroyViewWindow)(THIS) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,GetCurrentInfo)(THIS_ LPFOLDERSETTINGS lpfs) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,AddPropertySheetPages)(THIS_ DWORD dwReserved, LPFNSVADDPROPSHEETPAGE pfn, LPARAM lparam) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,SaveViewState)(THIS) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,SelectItem)(THIS_ LPCITEMIDLIST pidlItem, SVSIF uFlags) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,GetItemObject)(THIS_ UINT uItem, REFIID riid, void** ppv) PURE;
|
|
|
|
|
|
|
|
HRESULT CALLBACK IShellView_TranslateAccelerator_Proxy(
|
|
|
|
IShellView* This,
|
|
|
|
MSG* pmsg);
|
|
|
|
void __RPC_STUB IShellView_TranslateAccelerator_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellView_EnableModeless_Proxy(
|
|
|
|
IShellView* This,
|
|
|
|
BOOL fEnable);
|
|
|
|
void __RPC_STUB IShellView_EnableModeless_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellView_UIActivate_Proxy(
|
|
|
|
IShellView* This,
|
|
|
|
UINT uState);
|
|
|
|
void __RPC_STUB IShellView_UIActivate_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellView_Refresh_Proxy(
|
|
|
|
IShellView* This);
|
|
|
|
void __RPC_STUB IShellView_Refresh_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellView_CreateViewWindow_Proxy(
|
|
|
|
IShellView* This,
|
|
|
|
IShellView* psvPrevious,
|
|
|
|
LPCFOLDERSETTINGS lpfs,
|
|
|
|
IShellBrowser* psb,
|
|
|
|
RECT* prcView,
|
|
|
|
HWND* phWnd);
|
|
|
|
void __RPC_STUB IShellView_CreateViewWindow_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellView_DestroyViewWindow_Proxy(
|
|
|
|
IShellView* This);
|
|
|
|
void __RPC_STUB IShellView_DestroyViewWindow_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellView_GetCurrentInfo_Proxy(
|
|
|
|
IShellView* This,
|
|
|
|
LPFOLDERSETTINGS lpfs);
|
|
|
|
void __RPC_STUB IShellView_GetCurrentInfo_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellView_SaveViewState_Proxy(
|
|
|
|
IShellView* This);
|
|
|
|
void __RPC_STUB IShellView_SaveViewState_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellView_SelectItem_Proxy(
|
|
|
|
IShellView* This,
|
|
|
|
LPCITEMIDLIST pidlItem,
|
|
|
|
SVSIF uFlags);
|
|
|
|
void __RPC_STUB IShellView_SelectItem_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellView_GetItemObject_Proxy(
|
|
|
|
IShellView* This,
|
|
|
|
UINT uItem,
|
|
|
|
REFIID riid,
|
|
|
|
void** ppv);
|
|
|
|
void __RPC_STUB IShellView_GetItemObject_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
|
|
|
|
#endif /* __IShellView_INTERFACE_DEFINED__ */
|
|
|
|
|
|
|
|
typedef IShellBrowser *LPSHELLBROWSER;
|
|
|
|
|
|
|
|
#define SBSP_DEFBROWSER 0x00000000
|
|
|
|
#define SBSP_SAMEBROWSER 0x00000001
|
|
|
|
#define SBSP_NEWBROWSER 0x00000002
|
|
|
|
#define SBSP_DEFMODE 0x00000000
|
|
|
|
#define SBSP_OPENMODE 0x00000010
|
|
|
|
#define SBSP_EXPLOREMODE 0x00000020
|
|
|
|
#define SBSP_HELPMODE 0x00000040
|
|
|
|
#define SBSP_NOTRANSFERHIST 0x00000080
|
|
|
|
#define SBSP_ABSOLUTE 0x00000000
|
|
|
|
#define SBSP_RELATIVE 0x00001000
|
|
|
|
#define SBSP_PARENT 0x00002000
|
|
|
|
#define SBSP_NAVIGATEBACK 0x00004000
|
|
|
|
#define SBSP_NAVIGATEFORWARD 0x00008000
|
|
|
|
#define SBSP_ALLOW_AUTONAVIGATE 0x00010000
|
|
|
|
#define SBSP_NOAUTOSELECT 0x04000000
|
|
|
|
#define SBSP_WRITENOHISTORY 0x08000000
|
|
|
|
#define SBSP_REDIRECT 0x40000000
|
|
|
|
#define SBSP_INITIATEDBYHLINKFRAME 0x80000000
|
|
|
|
#define FCW_STATUS 0x0001
|
|
|
|
#define FCW_TOOLBAR 0x0002
|
|
|
|
#define FCW_TREE 0x0003
|
|
|
|
#define FCW_INTERNETBAR 0x0006
|
|
|
|
#define FCW_PROGRESS 0x0008
|
|
|
|
#define FCT_MERGE 0x0001
|
|
|
|
#define FCT_CONFIGABLE 0x0002
|
|
|
|
#define FCT_ADDTOEND 0x0004
|
|
|
|
#if 0
|
|
|
|
typedef LPARAM LPTBBUTTONSB;
|
|
|
|
|
|
|
|
#else
|
|
|
|
#include <commctrl.h>
|
|
|
|
typedef LPTBBUTTON LPTBBUTTONSB;
|
|
|
|
#endif
|
|
|
|
/*****************************************************************************
|
|
|
|
* IShellBrowser interface
|
|
|
|
*/
|
|
|
|
#ifndef __IShellBrowser_INTERFACE_DEFINED__
|
|
|
|
#define __IShellBrowser_INTERFACE_DEFINED__
|
|
|
|
|
|
|
|
DEFINE_GUID(IID_IShellBrowser, 0x000214e2, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
struct IShellBrowser : public IOleWindow
|
|
|
|
{
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE InsertMenusSB(
|
|
|
|
HMENU hmenuShared,
|
|
|
|
LPOLEMENUGROUPWIDTHS lpMenuWidths) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetMenuSB(
|
|
|
|
HMENU hmenuShared,
|
|
|
|
HOLEMENU holemenuReserved,
|
|
|
|
HWND hwndActiveObject) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE RemoveMenusSB(
|
|
|
|
HMENU hmenuShared) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetStatusTextSB(
|
|
|
|
LPCOLESTR pszStatusText) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE EnableModelessSB(
|
|
|
|
BOOL fEnable) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorSB(
|
|
|
|
MSG* pmsg,
|
|
|
|
WORD wID) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE BrowseObject(
|
|
|
|
LPCITEMIDLIST pidl,
|
|
|
|
UINT wFlags) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetViewStateStream(
|
|
|
|
DWORD grfMode,
|
|
|
|
IStream** ppStrm) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetControlWindow(
|
|
|
|
UINT id,
|
|
|
|
HWND* phwnd) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SendControlMsg(
|
|
|
|
UINT id,
|
|
|
|
UINT uMsg,
|
|
|
|
WPARAM wParam,
|
|
|
|
LPARAM lParam,
|
|
|
|
LRESULT* pret) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE QueryActiveShellView(
|
|
|
|
IShellView** ppshv) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE OnViewWindowActive(
|
|
|
|
IShellView* pshv) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetToolbarItems(
|
|
|
|
LPTBBUTTONSB lpButtons,
|
|
|
|
UINT nButtons,
|
|
|
|
UINT uFlags) = 0;
|
|
|
|
|
|
|
|
};
|
|
|
|
#else
|
|
|
|
typedef struct IShellBrowserVtbl IShellBrowserVtbl;
|
|
|
|
struct IShellBrowser {
|
|
|
|
const IShellBrowserVtbl* lpVtbl;
|
|
|
|
};
|
|
|
|
struct IShellBrowserVtbl {
|
2004-08-22 04:25:05 +02:00
|
|
|
BEGIN_INTERFACE
|
2003-09-04 21:43:39 +02:00
|
|
|
|
|
|
|
/*** IUnknown methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
|
|
IShellBrowser* This,
|
|
|
|
REFIID riid,
|
|
|
|
void** ppvObject);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
|
|
IShellBrowser* This);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
|
|
IShellBrowser* This);
|
|
|
|
|
|
|
|
/*** IOleWindow methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetWindow)(
|
|
|
|
IShellBrowser* This,
|
|
|
|
HWND* phwnd);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
|
|
|
|
IShellBrowser* This,
|
|
|
|
BOOL fEnterMode);
|
|
|
|
|
|
|
|
/*** IShellBrowser methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *InsertMenusSB)(
|
|
|
|
IShellBrowser* This,
|
|
|
|
HMENU hmenuShared,
|
|
|
|
LPOLEMENUGROUPWIDTHS lpMenuWidths);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetMenuSB)(
|
|
|
|
IShellBrowser* This,
|
|
|
|
HMENU hmenuShared,
|
|
|
|
HOLEMENU holemenuReserved,
|
|
|
|
HWND hwndActiveObject);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *RemoveMenusSB)(
|
|
|
|
IShellBrowser* This,
|
|
|
|
HMENU hmenuShared);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetStatusTextSB)(
|
|
|
|
IShellBrowser* This,
|
|
|
|
LPCOLESTR pszStatusText);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *EnableModelessSB)(
|
|
|
|
IShellBrowser* This,
|
|
|
|
BOOL fEnable);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *TranslateAcceleratorSB)(
|
|
|
|
IShellBrowser* This,
|
|
|
|
MSG* pmsg,
|
|
|
|
WORD wID);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *BrowseObject)(
|
|
|
|
IShellBrowser* This,
|
|
|
|
LPCITEMIDLIST pidl,
|
|
|
|
UINT wFlags);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetViewStateStream)(
|
|
|
|
IShellBrowser* This,
|
|
|
|
DWORD grfMode,
|
|
|
|
IStream** ppStrm);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetControlWindow)(
|
|
|
|
IShellBrowser* This,
|
|
|
|
UINT id,
|
|
|
|
HWND* phwnd);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SendControlMsg)(
|
|
|
|
IShellBrowser* This,
|
|
|
|
UINT id,
|
|
|
|
UINT uMsg,
|
|
|
|
WPARAM wParam,
|
|
|
|
LPARAM lParam,
|
|
|
|
LRESULT* pret);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *QueryActiveShellView)(
|
|
|
|
IShellBrowser* This,
|
|
|
|
IShellView** ppshv);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *OnViewWindowActive)(
|
|
|
|
IShellBrowser* This,
|
|
|
|
IShellView* pshv);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetToolbarItems)(
|
|
|
|
IShellBrowser* This,
|
|
|
|
LPTBBUTTONSB lpButtons,
|
|
|
|
UINT nButtons,
|
|
|
|
UINT uFlags);
|
|
|
|
|
2004-08-22 04:25:05 +02:00
|
|
|
END_INTERFACE
|
2003-09-04 21:43:39 +02:00
|
|
|
};
|
|
|
|
|
2004-08-11 21:43:45 +02:00
|
|
|
#ifdef COBJMACROS
|
2003-09-04 21:43:39 +02:00
|
|
|
/*** IUnknown methods ***/
|
|
|
|
#define IShellBrowser_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
|
|
|
#define IShellBrowser_AddRef(p) (p)->lpVtbl->AddRef(p)
|
|
|
|
#define IShellBrowser_Release(p) (p)->lpVtbl->Release(p)
|
|
|
|
/*** IOleWindow methods ***/
|
|
|
|
#define IShellBrowser_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
|
|
|
|
#define IShellBrowser_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
|
|
|
|
/*** IShellBrowser methods ***/
|
|
|
|
#define IShellBrowser_InsertMenusSB(p,a,b) (p)->lpVtbl->InsertMenusSB(p,a,b)
|
|
|
|
#define IShellBrowser_SetMenuSB(p,a,b,c) (p)->lpVtbl->SetMenuSB(p,a,b,c)
|
|
|
|
#define IShellBrowser_RemoveMenusSB(p,a) (p)->lpVtbl->RemoveMenusSB(p,a)
|
|
|
|
#define IShellBrowser_SetStatusTextSB(p,a) (p)->lpVtbl->SetStatusTextSB(p,a)
|
|
|
|
#define IShellBrowser_EnableModelessSB(p,a) (p)->lpVtbl->EnableModelessSB(p,a)
|
|
|
|
#define IShellBrowser_TranslateAcceleratorSB(p,a,b) (p)->lpVtbl->TranslateAcceleratorSB(p,a,b)
|
|
|
|
#define IShellBrowser_BrowseObject(p,a,b) (p)->lpVtbl->BrowseObject(p,a,b)
|
|
|
|
#define IShellBrowser_GetViewStateStream(p,a,b) (p)->lpVtbl->GetViewStateStream(p,a,b)
|
|
|
|
#define IShellBrowser_GetControlWindow(p,a,b) (p)->lpVtbl->GetControlWindow(p,a,b)
|
|
|
|
#define IShellBrowser_SendControlMsg(p,a,b,c,d,e) (p)->lpVtbl->SendControlMsg(p,a,b,c,d,e)
|
|
|
|
#define IShellBrowser_QueryActiveShellView(p,a) (p)->lpVtbl->QueryActiveShellView(p,a)
|
|
|
|
#define IShellBrowser_OnViewWindowActive(p,a) (p)->lpVtbl->OnViewWindowActive(p,a)
|
|
|
|
#define IShellBrowser_SetToolbarItems(p,a,b,c) (p)->lpVtbl->SetToolbarItems(p,a,b,c)
|
2004-08-11 21:43:45 +02:00
|
|
|
#endif
|
2003-09-04 21:43:39 +02:00
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define IShellBrowser_METHODS \
|
|
|
|
/*** IUnknown methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
|
|
|
|
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
|
|
|
|
STDMETHOD_(ULONG,Release)(THIS) PURE; \
|
|
|
|
/*** IOleWindow methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND* phwnd) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE; \
|
|
|
|
/*** IShellBrowser methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,InsertMenusSB)(THIS_ HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,SetMenuSB)(THIS_ HMENU hmenuShared, HOLEMENU holemenuReserved, HWND hwndActiveObject) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,RemoveMenusSB)(THIS_ HMENU hmenuShared) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,SetStatusTextSB)(THIS_ LPCOLESTR pszStatusText) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,EnableModelessSB)(THIS_ BOOL fEnable) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,TranslateAcceleratorSB)(THIS_ MSG* pmsg, WORD wID) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,BrowseObject)(THIS_ LPCITEMIDLIST pidl, UINT wFlags) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,GetViewStateStream)(THIS_ DWORD grfMode, IStream** ppStrm) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,GetControlWindow)(THIS_ UINT id, HWND* phwnd) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,SendControlMsg)(THIS_ UINT id, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT* pret) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,QueryActiveShellView)(THIS_ IShellView** ppshv) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,OnViewWindowActive)(THIS_ IShellView* pshv) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,SetToolbarItems)(THIS_ LPTBBUTTONSB lpButtons, UINT nButtons, UINT uFlags) PURE;
|
|
|
|
|
|
|
|
HRESULT CALLBACK IShellBrowser_InsertMenusSB_Proxy(
|
|
|
|
IShellBrowser* This,
|
|
|
|
HMENU hmenuShared,
|
|
|
|
LPOLEMENUGROUPWIDTHS lpMenuWidths);
|
|
|
|
void __RPC_STUB IShellBrowser_InsertMenusSB_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellBrowser_SetMenuSB_Proxy(
|
|
|
|
IShellBrowser* This,
|
|
|
|
HMENU hmenuShared,
|
|
|
|
HOLEMENU holemenuReserved,
|
|
|
|
HWND hwndActiveObject);
|
|
|
|
void __RPC_STUB IShellBrowser_SetMenuSB_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellBrowser_RemoveMenusSB_Proxy(
|
|
|
|
IShellBrowser* This,
|
|
|
|
HMENU hmenuShared);
|
|
|
|
void __RPC_STUB IShellBrowser_RemoveMenusSB_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellBrowser_SetStatusTextSB_Proxy(
|
|
|
|
IShellBrowser* This,
|
|
|
|
LPCOLESTR pszStatusText);
|
|
|
|
void __RPC_STUB IShellBrowser_SetStatusTextSB_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellBrowser_EnableModelessSB_Proxy(
|
|
|
|
IShellBrowser* This,
|
|
|
|
BOOL fEnable);
|
|
|
|
void __RPC_STUB IShellBrowser_EnableModelessSB_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellBrowser_TranslateAcceleratorSB_Proxy(
|
|
|
|
IShellBrowser* This,
|
|
|
|
MSG* pmsg,
|
|
|
|
WORD wID);
|
|
|
|
void __RPC_STUB IShellBrowser_TranslateAcceleratorSB_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellBrowser_BrowseObject_Proxy(
|
|
|
|
IShellBrowser* This,
|
|
|
|
LPCITEMIDLIST pidl,
|
|
|
|
UINT wFlags);
|
|
|
|
void __RPC_STUB IShellBrowser_BrowseObject_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellBrowser_GetViewStateStream_Proxy(
|
|
|
|
IShellBrowser* This,
|
|
|
|
DWORD grfMode,
|
|
|
|
IStream** ppStrm);
|
|
|
|
void __RPC_STUB IShellBrowser_GetViewStateStream_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellBrowser_GetControlWindow_Proxy(
|
|
|
|
IShellBrowser* This,
|
|
|
|
UINT id,
|
|
|
|
HWND* phwnd);
|
|
|
|
void __RPC_STUB IShellBrowser_GetControlWindow_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellBrowser_QueryActiveShellView_Proxy(
|
|
|
|
IShellBrowser* This,
|
|
|
|
IShellView** ppshv);
|
|
|
|
void __RPC_STUB IShellBrowser_QueryActiveShellView_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellBrowser_OnViewWindowActive_Proxy(
|
|
|
|
IShellBrowser* This,
|
|
|
|
IShellView* pshv);
|
|
|
|
void __RPC_STUB IShellBrowser_OnViewWindowActive_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
|
|
|
|
#endif /* __IShellBrowser_INTERFACE_DEFINED__ */
|
|
|
|
|
|
|
|
#ifndef __IShellLinkA_FWD_DEFINED__
|
|
|
|
#define __IShellLinkA_FWD_DEFINED__
|
|
|
|
typedef struct IShellLinkA IShellLinkA;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
typedef enum {
|
|
|
|
SLR_NO_UI = 0x1,
|
|
|
|
SLR_ANY_MATCH = 0x2,
|
|
|
|
SLR_UPDATE = 0x4,
|
|
|
|
SLR_NOUPDATE = 0x8,
|
|
|
|
SLR_NOSEARCH = 0x10,
|
|
|
|
SLR_NOTRACK = 0x20,
|
|
|
|
SLR_NOLINKINFO = 0x40,
|
|
|
|
SLR_INVOKE_MSI = 0x80,
|
|
|
|
SLR_NO_UI_WITH_MSG_PUMP = 0x101
|
|
|
|
} SLR_FLAGS;
|
|
|
|
|
|
|
|
typedef enum {
|
|
|
|
SLGP_SHORTPATH = 0x1,
|
|
|
|
SLGP_UNCPRIORITY = 0x2,
|
|
|
|
SLGP_RAWPATH = 0x4
|
|
|
|
} SLGP_FLAGS;
|
|
|
|
|
|
|
|
/*****************************************************************************
|
|
|
|
* IShellLinkA interface
|
|
|
|
*/
|
|
|
|
#ifndef __IShellLinkA_INTERFACE_DEFINED__
|
|
|
|
#define __IShellLinkA_INTERFACE_DEFINED__
|
|
|
|
|
|
|
|
DEFINE_GUID(IID_IShellLinkA, 0x000214ee, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
struct IShellLinkA : public IUnknown
|
|
|
|
{
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetPath(
|
|
|
|
LPSTR pszFile,
|
|
|
|
int cch,
|
|
|
|
WIN32_FIND_DATAA* pfd,
|
|
|
|
DWORD fFlags) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetIDList(
|
|
|
|
LPITEMIDLIST* ppidl) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetIDList(
|
|
|
|
LPCITEMIDLIST pidl) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetDescription(
|
|
|
|
LPSTR pszName,
|
|
|
|
int cch) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetDescription(
|
|
|
|
LPCSTR pszName) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetWorkingDirectory(
|
|
|
|
LPSTR pszDir,
|
|
|
|
int cch) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetWorkingDirectory(
|
|
|
|
LPCSTR pszDir) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetArguments(
|
|
|
|
LPSTR pszArgs,
|
|
|
|
int cch) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetArguments(
|
|
|
|
LPCSTR pszArgs) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetHotkey(
|
|
|
|
WORD* pwHotkey) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetHotkey(
|
|
|
|
WORD wHotkey) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetShowCmd(
|
|
|
|
int* piShowCmd) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetShowCmd(
|
|
|
|
int iShowCmd) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetIconLocation(
|
|
|
|
LPSTR pszIconPath,
|
|
|
|
int cch,
|
|
|
|
int* piIcon) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetIconLocation(
|
|
|
|
LPCSTR pszIconPath,
|
|
|
|
int iIcon) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetRelativePath(
|
|
|
|
LPCSTR pszPathRel,
|
|
|
|
DWORD dwReserved) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Resolve(
|
|
|
|
HWND hwnd,
|
|
|
|
DWORD fFlags) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetPath(
|
|
|
|
LPCSTR pszFile) = 0;
|
|
|
|
|
|
|
|
};
|
|
|
|
#else
|
|
|
|
typedef struct IShellLinkAVtbl IShellLinkAVtbl;
|
|
|
|
struct IShellLinkA {
|
|
|
|
const IShellLinkAVtbl* lpVtbl;
|
|
|
|
};
|
|
|
|
struct IShellLinkAVtbl {
|
2004-08-22 04:25:05 +02:00
|
|
|
BEGIN_INTERFACE
|
2003-09-04 21:43:39 +02:00
|
|
|
|
|
|
|
/*** IUnknown methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
|
|
IShellLinkA* This,
|
|
|
|
REFIID riid,
|
|
|
|
void** ppvObject);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
|
|
IShellLinkA* This);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
|
|
IShellLinkA* This);
|
|
|
|
|
|
|
|
/*** IShellLinkA methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetPath)(
|
|
|
|
IShellLinkA* This,
|
|
|
|
LPSTR pszFile,
|
|
|
|
int cch,
|
|
|
|
WIN32_FIND_DATAA* pfd,
|
|
|
|
DWORD fFlags);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetIDList)(
|
|
|
|
IShellLinkA* This,
|
|
|
|
LPITEMIDLIST* ppidl);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetIDList)(
|
|
|
|
IShellLinkA* This,
|
|
|
|
LPCITEMIDLIST pidl);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetDescription)(
|
|
|
|
IShellLinkA* This,
|
|
|
|
LPSTR pszName,
|
|
|
|
int cch);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetDescription)(
|
|
|
|
IShellLinkA* This,
|
|
|
|
LPCSTR pszName);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetWorkingDirectory)(
|
|
|
|
IShellLinkA* This,
|
|
|
|
LPSTR pszDir,
|
|
|
|
int cch);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetWorkingDirectory)(
|
|
|
|
IShellLinkA* This,
|
|
|
|
LPCSTR pszDir);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetArguments)(
|
|
|
|
IShellLinkA* This,
|
|
|
|
LPSTR pszArgs,
|
|
|
|
int cch);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetArguments)(
|
|
|
|
IShellLinkA* This,
|
|
|
|
LPCSTR pszArgs);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetHotkey)(
|
|
|
|
IShellLinkA* This,
|
|
|
|
WORD* pwHotkey);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetHotkey)(
|
|
|
|
IShellLinkA* This,
|
|
|
|
WORD wHotkey);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetShowCmd)(
|
|
|
|
IShellLinkA* This,
|
|
|
|
int* piShowCmd);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetShowCmd)(
|
|
|
|
IShellLinkA* This,
|
|
|
|
int iShowCmd);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetIconLocation)(
|
|
|
|
IShellLinkA* This,
|
|
|
|
LPSTR pszIconPath,
|
|
|
|
int cch,
|
|
|
|
int* piIcon);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetIconLocation)(
|
|
|
|
IShellLinkA* This,
|
|
|
|
LPCSTR pszIconPath,
|
|
|
|
int iIcon);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetRelativePath)(
|
|
|
|
IShellLinkA* This,
|
|
|
|
LPCSTR pszPathRel,
|
|
|
|
DWORD dwReserved);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Resolve)(
|
|
|
|
IShellLinkA* This,
|
|
|
|
HWND hwnd,
|
|
|
|
DWORD fFlags);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetPath)(
|
|
|
|
IShellLinkA* This,
|
|
|
|
LPCSTR pszFile);
|
|
|
|
|
2004-08-22 04:25:05 +02:00
|
|
|
END_INTERFACE
|
2003-09-04 21:43:39 +02:00
|
|
|
};
|
|
|
|
|
2004-08-11 21:43:45 +02:00
|
|
|
#ifdef COBJMACROS
|
2003-09-04 21:43:39 +02:00
|
|
|
/*** IUnknown methods ***/
|
|
|
|
#define IShellLinkA_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
|
|
|
#define IShellLinkA_AddRef(p) (p)->lpVtbl->AddRef(p)
|
|
|
|
#define IShellLinkA_Release(p) (p)->lpVtbl->Release(p)
|
|
|
|
/*** IShellLinkA methods ***/
|
|
|
|
#define IShellLinkA_GetPath(p,a,b,c,d) (p)->lpVtbl->GetPath(p,a,b,c,d)
|
|
|
|
#define IShellLinkA_GetIDList(p,a) (p)->lpVtbl->GetIDList(p,a)
|
|
|
|
#define IShellLinkA_SetIDList(p,a) (p)->lpVtbl->SetIDList(p,a)
|
|
|
|
#define IShellLinkA_GetDescription(p,a,b) (p)->lpVtbl->GetDescription(p,a,b)
|
|
|
|
#define IShellLinkA_SetDescription(p,a) (p)->lpVtbl->SetDescription(p,a)
|
|
|
|
#define IShellLinkA_GetWorkingDirectory(p,a,b) (p)->lpVtbl->GetWorkingDirectory(p,a,b)
|
|
|
|
#define IShellLinkA_SetWorkingDirectory(p,a) (p)->lpVtbl->SetWorkingDirectory(p,a)
|
|
|
|
#define IShellLinkA_GetArguments(p,a,b) (p)->lpVtbl->GetArguments(p,a,b)
|
|
|
|
#define IShellLinkA_SetArguments(p,a) (p)->lpVtbl->SetArguments(p,a)
|
|
|
|
#define IShellLinkA_GetHotkey(p,a) (p)->lpVtbl->GetHotkey(p,a)
|
|
|
|
#define IShellLinkA_SetHotkey(p,a) (p)->lpVtbl->SetHotkey(p,a)
|
|
|
|
#define IShellLinkA_GetShowCmd(p,a) (p)->lpVtbl->GetShowCmd(p,a)
|
|
|
|
#define IShellLinkA_SetShowCmd(p,a) (p)->lpVtbl->SetShowCmd(p,a)
|
|
|
|
#define IShellLinkA_GetIconLocation(p,a,b,c) (p)->lpVtbl->GetIconLocation(p,a,b,c)
|
|
|
|
#define IShellLinkA_SetIconLocation(p,a,b) (p)->lpVtbl->SetIconLocation(p,a,b)
|
|
|
|
#define IShellLinkA_SetRelativePath(p,a,b) (p)->lpVtbl->SetRelativePath(p,a,b)
|
|
|
|
#define IShellLinkA_Resolve(p,a,b) (p)->lpVtbl->Resolve(p,a,b)
|
|
|
|
#define IShellLinkA_SetPath(p,a) (p)->lpVtbl->SetPath(p,a)
|
2004-08-11 21:43:45 +02:00
|
|
|
#endif
|
2003-09-04 21:43:39 +02:00
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define IShellLinkA_METHODS \
|
|
|
|
/*** IUnknown methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
|
|
|
|
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
|
|
|
|
STDMETHOD_(ULONG,Release)(THIS) PURE; \
|
|
|
|
/*** IShellLinkA methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,GetPath)(THIS_ LPSTR pszFile, int cch, WIN32_FIND_DATAA* pfd, DWORD fFlags) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,GetIDList)(THIS_ LPITEMIDLIST* ppidl) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,SetIDList)(THIS_ LPCITEMIDLIST pidl) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,GetDescription)(THIS_ LPSTR pszName, int cch) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,SetDescription)(THIS_ LPCSTR pszName) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,GetWorkingDirectory)(THIS_ LPSTR pszDir, int cch) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,SetWorkingDirectory)(THIS_ LPCSTR pszDir) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,GetArguments)(THIS_ LPSTR pszArgs, int cch) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,SetArguments)(THIS_ LPCSTR pszArgs) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,GetHotkey)(THIS_ WORD* pwHotkey) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,SetHotkey)(THIS_ WORD wHotkey) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,GetShowCmd)(THIS_ int* piShowCmd) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,SetShowCmd)(THIS_ int iShowCmd) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,GetIconLocation)(THIS_ LPSTR pszIconPath, int cch, int* piIcon) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,SetIconLocation)(THIS_ LPCSTR pszIconPath, int iIcon) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,SetRelativePath)(THIS_ LPCSTR pszPathRel, DWORD dwReserved) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,Resolve)(THIS_ HWND hwnd, DWORD fFlags) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,SetPath)(THIS_ LPCSTR pszFile) PURE;
|
|
|
|
|
|
|
|
HRESULT CALLBACK IShellLinkA_GetPath_Proxy(
|
|
|
|
IShellLinkA* This,
|
|
|
|
LPSTR pszFile,
|
|
|
|
int cch,
|
|
|
|
WIN32_FIND_DATAA* pfd,
|
|
|
|
DWORD fFlags);
|
|
|
|
void __RPC_STUB IShellLinkA_GetPath_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellLinkA_GetIDList_Proxy(
|
|
|
|
IShellLinkA* This,
|
|
|
|
LPITEMIDLIST* ppidl);
|
|
|
|
void __RPC_STUB IShellLinkA_GetIDList_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellLinkA_SetIDList_Proxy(
|
|
|
|
IShellLinkA* This,
|
|
|
|
LPCITEMIDLIST pidl);
|
|
|
|
void __RPC_STUB IShellLinkA_SetIDList_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellLinkA_GetDescription_Proxy(
|
|
|
|
IShellLinkA* This,
|
|
|
|
LPSTR pszName,
|
|
|
|
int cch);
|
|
|
|
void __RPC_STUB IShellLinkA_GetDescription_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellLinkA_SetDescription_Proxy(
|
|
|
|
IShellLinkA* This,
|
|
|
|
LPCSTR pszName);
|
|
|
|
void __RPC_STUB IShellLinkA_SetDescription_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellLinkA_GetWorkingDirectory_Proxy(
|
|
|
|
IShellLinkA* This,
|
|
|
|
LPSTR pszDir,
|
|
|
|
int cch);
|
|
|
|
void __RPC_STUB IShellLinkA_GetWorkingDirectory_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellLinkA_SetWorkingDirectory_Proxy(
|
|
|
|
IShellLinkA* This,
|
|
|
|
LPCSTR pszDir);
|
|
|
|
void __RPC_STUB IShellLinkA_SetWorkingDirectory_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellLinkA_GetArguments_Proxy(
|
|
|
|
IShellLinkA* This,
|
|
|
|
LPSTR pszArgs,
|
|
|
|
int cch);
|
|
|
|
void __RPC_STUB IShellLinkA_GetArguments_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellLinkA_SetArguments_Proxy(
|
|
|
|
IShellLinkA* This,
|
|
|
|
LPCSTR pszArgs);
|
|
|
|
void __RPC_STUB IShellLinkA_SetArguments_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellLinkA_GetHotkey_Proxy(
|
|
|
|
IShellLinkA* This,
|
|
|
|
WORD* pwHotkey);
|
|
|
|
void __RPC_STUB IShellLinkA_GetHotkey_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellLinkA_SetHotkey_Proxy(
|
|
|
|
IShellLinkA* This,
|
|
|
|
WORD wHotkey);
|
|
|
|
void __RPC_STUB IShellLinkA_SetHotkey_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellLinkA_GetShowCmd_Proxy(
|
|
|
|
IShellLinkA* This,
|
|
|
|
int* piShowCmd);
|
|
|
|
void __RPC_STUB IShellLinkA_GetShowCmd_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellLinkA_SetShowCmd_Proxy(
|
|
|
|
IShellLinkA* This,
|
|
|
|
int iShowCmd);
|
|
|
|
void __RPC_STUB IShellLinkA_SetShowCmd_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellLinkA_GetIconLocation_Proxy(
|
|
|
|
IShellLinkA* This,
|
|
|
|
LPSTR pszIconPath,
|
|
|
|
int cch,
|
|
|
|
int* piIcon);
|
|
|
|
void __RPC_STUB IShellLinkA_GetIconLocation_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellLinkA_SetIconLocation_Proxy(
|
|
|
|
IShellLinkA* This,
|
|
|
|
LPCSTR pszIconPath,
|
|
|
|
int iIcon);
|
|
|
|
void __RPC_STUB IShellLinkA_SetIconLocation_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellLinkA_SetRelativePath_Proxy(
|
|
|
|
IShellLinkA* This,
|
|
|
|
LPCSTR pszPathRel,
|
|
|
|
DWORD dwReserved);
|
|
|
|
void __RPC_STUB IShellLinkA_SetRelativePath_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellLinkA_Resolve_Proxy(
|
|
|
|
IShellLinkA* This,
|
|
|
|
HWND hwnd,
|
|
|
|
DWORD fFlags);
|
|
|
|
void __RPC_STUB IShellLinkA_Resolve_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellLinkA_SetPath_Proxy(
|
|
|
|
IShellLinkA* This,
|
|
|
|
LPCSTR pszFile);
|
|
|
|
void __RPC_STUB IShellLinkA_SetPath_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
|
|
|
|
#endif /* __IShellLinkA_INTERFACE_DEFINED__ */
|
|
|
|
|
|
|
|
#ifndef __IShellLinkW_FWD_DEFINED__
|
|
|
|
#define __IShellLinkW_FWD_DEFINED__
|
|
|
|
typedef struct IShellLinkW IShellLinkW;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
/*****************************************************************************
|
|
|
|
* IShellLinkW interface
|
|
|
|
*/
|
|
|
|
#ifndef __IShellLinkW_INTERFACE_DEFINED__
|
|
|
|
#define __IShellLinkW_INTERFACE_DEFINED__
|
|
|
|
|
|
|
|
DEFINE_GUID(IID_IShellLinkW, 0x000214f9, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
struct IShellLinkW : public IUnknown
|
|
|
|
{
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetPath(
|
|
|
|
LPWSTR pszFile,
|
|
|
|
int cch,
|
|
|
|
WIN32_FIND_DATAW* pfd,
|
|
|
|
DWORD fFlags) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetIDList(
|
|
|
|
LPITEMIDLIST* ppidl) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetIDList(
|
|
|
|
LPCITEMIDLIST pidl) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetDescription(
|
|
|
|
LPWSTR pszName,
|
|
|
|
int cch) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetDescription(
|
|
|
|
LPCWSTR pszName) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetWorkingDirectory(
|
|
|
|
LPWSTR pszDir,
|
|
|
|
int cch) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetWorkingDirectory(
|
|
|
|
LPCWSTR pszDir) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetArguments(
|
|
|
|
LPWSTR pszArgs,
|
|
|
|
int cch) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetArguments(
|
|
|
|
LPCWSTR pszArgs) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetHotkey(
|
|
|
|
WORD* pwHotkey) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetHotkey(
|
|
|
|
WORD wHotkey) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetShowCmd(
|
|
|
|
int* piShowCmd) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetShowCmd(
|
|
|
|
int iShowCmd) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetIconLocation(
|
|
|
|
LPWSTR pszIconPath,
|
|
|
|
int cch,
|
|
|
|
int* piIcon) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetIconLocation(
|
|
|
|
LPCWSTR pszIconPath,
|
|
|
|
int iIcon) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetRelativePath(
|
|
|
|
LPCWSTR pszPathRel,
|
|
|
|
DWORD dwReserved) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Resolve(
|
|
|
|
HWND hwnd,
|
|
|
|
DWORD fFlags) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetPath(
|
|
|
|
LPCWSTR pszFile) = 0;
|
|
|
|
|
|
|
|
};
|
|
|
|
#else
|
|
|
|
typedef struct IShellLinkWVtbl IShellLinkWVtbl;
|
|
|
|
struct IShellLinkW {
|
|
|
|
const IShellLinkWVtbl* lpVtbl;
|
|
|
|
};
|
|
|
|
struct IShellLinkWVtbl {
|
2004-08-22 04:25:05 +02:00
|
|
|
BEGIN_INTERFACE
|
2003-09-04 21:43:39 +02:00
|
|
|
|
|
|
|
/*** IUnknown methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
|
|
IShellLinkW* This,
|
|
|
|
REFIID riid,
|
|
|
|
void** ppvObject);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
|
|
IShellLinkW* This);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
|
|
IShellLinkW* This);
|
|
|
|
|
|
|
|
/*** IShellLinkW methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetPath)(
|
|
|
|
IShellLinkW* This,
|
|
|
|
LPWSTR pszFile,
|
|
|
|
int cch,
|
|
|
|
WIN32_FIND_DATAW* pfd,
|
|
|
|
DWORD fFlags);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetIDList)(
|
|
|
|
IShellLinkW* This,
|
|
|
|
LPITEMIDLIST* ppidl);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetIDList)(
|
|
|
|
IShellLinkW* This,
|
|
|
|
LPCITEMIDLIST pidl);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetDescription)(
|
|
|
|
IShellLinkW* This,
|
|
|
|
LPWSTR pszName,
|
|
|
|
int cch);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetDescription)(
|
|
|
|
IShellLinkW* This,
|
|
|
|
LPCWSTR pszName);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetWorkingDirectory)(
|
|
|
|
IShellLinkW* This,
|
|
|
|
LPWSTR pszDir,
|
|
|
|
int cch);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetWorkingDirectory)(
|
|
|
|
IShellLinkW* This,
|
|
|
|
LPCWSTR pszDir);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetArguments)(
|
|
|
|
IShellLinkW* This,
|
|
|
|
LPWSTR pszArgs,
|
|
|
|
int cch);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetArguments)(
|
|
|
|
IShellLinkW* This,
|
|
|
|
LPCWSTR pszArgs);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetHotkey)(
|
|
|
|
IShellLinkW* This,
|
|
|
|
WORD* pwHotkey);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetHotkey)(
|
|
|
|
IShellLinkW* This,
|
|
|
|
WORD wHotkey);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetShowCmd)(
|
|
|
|
IShellLinkW* This,
|
|
|
|
int* piShowCmd);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetShowCmd)(
|
|
|
|
IShellLinkW* This,
|
|
|
|
int iShowCmd);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetIconLocation)(
|
|
|
|
IShellLinkW* This,
|
|
|
|
LPWSTR pszIconPath,
|
|
|
|
int cch,
|
|
|
|
int* piIcon);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetIconLocation)(
|
|
|
|
IShellLinkW* This,
|
|
|
|
LPCWSTR pszIconPath,
|
|
|
|
int iIcon);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetRelativePath)(
|
|
|
|
IShellLinkW* This,
|
|
|
|
LPCWSTR pszPathRel,
|
|
|
|
DWORD dwReserved);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Resolve)(
|
|
|
|
IShellLinkW* This,
|
|
|
|
HWND hwnd,
|
|
|
|
DWORD fFlags);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetPath)(
|
|
|
|
IShellLinkW* This,
|
|
|
|
LPCWSTR pszFile);
|
|
|
|
|
2004-08-22 04:25:05 +02:00
|
|
|
END_INTERFACE
|
2003-09-04 21:43:39 +02:00
|
|
|
};
|
|
|
|
|
2004-08-11 21:43:45 +02:00
|
|
|
#ifdef COBJMACROS
|
2003-09-04 21:43:39 +02:00
|
|
|
/*** IUnknown methods ***/
|
|
|
|
#define IShellLinkW_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
|
|
|
#define IShellLinkW_AddRef(p) (p)->lpVtbl->AddRef(p)
|
|
|
|
#define IShellLinkW_Release(p) (p)->lpVtbl->Release(p)
|
|
|
|
/*** IShellLinkW methods ***/
|
|
|
|
#define IShellLinkW_GetPath(p,a,b,c,d) (p)->lpVtbl->GetPath(p,a,b,c,d)
|
|
|
|
#define IShellLinkW_GetIDList(p,a) (p)->lpVtbl->GetIDList(p,a)
|
|
|
|
#define IShellLinkW_SetIDList(p,a) (p)->lpVtbl->SetIDList(p,a)
|
|
|
|
#define IShellLinkW_GetDescription(p,a,b) (p)->lpVtbl->GetDescription(p,a,b)
|
|
|
|
#define IShellLinkW_SetDescription(p,a) (p)->lpVtbl->SetDescription(p,a)
|
|
|
|
#define IShellLinkW_GetWorkingDirectory(p,a,b) (p)->lpVtbl->GetWorkingDirectory(p,a,b)
|
|
|
|
#define IShellLinkW_SetWorkingDirectory(p,a) (p)->lpVtbl->SetWorkingDirectory(p,a)
|
|
|
|
#define IShellLinkW_GetArguments(p,a,b) (p)->lpVtbl->GetArguments(p,a,b)
|
|
|
|
#define IShellLinkW_SetArguments(p,a) (p)->lpVtbl->SetArguments(p,a)
|
|
|
|
#define IShellLinkW_GetHotkey(p,a) (p)->lpVtbl->GetHotkey(p,a)
|
|
|
|
#define IShellLinkW_SetHotkey(p,a) (p)->lpVtbl->SetHotkey(p,a)
|
|
|
|
#define IShellLinkW_GetShowCmd(p,a) (p)->lpVtbl->GetShowCmd(p,a)
|
|
|
|
#define IShellLinkW_SetShowCmd(p,a) (p)->lpVtbl->SetShowCmd(p,a)
|
|
|
|
#define IShellLinkW_GetIconLocation(p,a,b,c) (p)->lpVtbl->GetIconLocation(p,a,b,c)
|
|
|
|
#define IShellLinkW_SetIconLocation(p,a,b) (p)->lpVtbl->SetIconLocation(p,a,b)
|
|
|
|
#define IShellLinkW_SetRelativePath(p,a,b) (p)->lpVtbl->SetRelativePath(p,a,b)
|
|
|
|
#define IShellLinkW_Resolve(p,a,b) (p)->lpVtbl->Resolve(p,a,b)
|
|
|
|
#define IShellLinkW_SetPath(p,a) (p)->lpVtbl->SetPath(p,a)
|
2004-08-11 21:43:45 +02:00
|
|
|
#endif
|
2003-09-04 21:43:39 +02:00
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define IShellLinkW_METHODS \
|
|
|
|
/*** IUnknown methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
|
|
|
|
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
|
|
|
|
STDMETHOD_(ULONG,Release)(THIS) PURE; \
|
|
|
|
/*** IShellLinkW methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,GetPath)(THIS_ LPWSTR pszFile, int cch, WIN32_FIND_DATAW* pfd, DWORD fFlags) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,GetIDList)(THIS_ LPITEMIDLIST* ppidl) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,SetIDList)(THIS_ LPCITEMIDLIST pidl) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,GetDescription)(THIS_ LPWSTR pszName, int cch) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,SetDescription)(THIS_ LPCWSTR pszName) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,GetWorkingDirectory)(THIS_ LPWSTR pszDir, int cch) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,SetWorkingDirectory)(THIS_ LPCWSTR pszDir) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,GetArguments)(THIS_ LPWSTR pszArgs, int cch) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,SetArguments)(THIS_ LPCWSTR pszArgs) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,GetHotkey)(THIS_ WORD* pwHotkey) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,SetHotkey)(THIS_ WORD wHotkey) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,GetShowCmd)(THIS_ int* piShowCmd) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,SetShowCmd)(THIS_ int iShowCmd) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,GetIconLocation)(THIS_ LPWSTR pszIconPath, int cch, int* piIcon) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,SetIconLocation)(THIS_ LPCWSTR pszIconPath, int iIcon) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,SetRelativePath)(THIS_ LPCWSTR pszPathRel, DWORD dwReserved) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,Resolve)(THIS_ HWND hwnd, DWORD fFlags) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,SetPath)(THIS_ LPCWSTR pszFile) PURE;
|
|
|
|
|
|
|
|
HRESULT CALLBACK IShellLinkW_GetPath_Proxy(
|
|
|
|
IShellLinkW* This,
|
|
|
|
LPWSTR pszFile,
|
|
|
|
int cch,
|
|
|
|
WIN32_FIND_DATAW* pfd,
|
|
|
|
DWORD fFlags);
|
|
|
|
void __RPC_STUB IShellLinkW_GetPath_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellLinkW_GetIDList_Proxy(
|
|
|
|
IShellLinkW* This,
|
|
|
|
LPITEMIDLIST* ppidl);
|
|
|
|
void __RPC_STUB IShellLinkW_GetIDList_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellLinkW_SetIDList_Proxy(
|
|
|
|
IShellLinkW* This,
|
|
|
|
LPCITEMIDLIST pidl);
|
|
|
|
void __RPC_STUB IShellLinkW_SetIDList_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellLinkW_GetDescription_Proxy(
|
|
|
|
IShellLinkW* This,
|
|
|
|
LPWSTR pszName,
|
|
|
|
int cch);
|
|
|
|
void __RPC_STUB IShellLinkW_GetDescription_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellLinkW_SetDescription_Proxy(
|
|
|
|
IShellLinkW* This,
|
|
|
|
LPCWSTR pszName);
|
|
|
|
void __RPC_STUB IShellLinkW_SetDescription_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellLinkW_GetWorkingDirectory_Proxy(
|
|
|
|
IShellLinkW* This,
|
|
|
|
LPWSTR pszDir,
|
|
|
|
int cch);
|
|
|
|
void __RPC_STUB IShellLinkW_GetWorkingDirectory_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellLinkW_SetWorkingDirectory_Proxy(
|
|
|
|
IShellLinkW* This,
|
|
|
|
LPCWSTR pszDir);
|
|
|
|
void __RPC_STUB IShellLinkW_SetWorkingDirectory_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellLinkW_GetArguments_Proxy(
|
|
|
|
IShellLinkW* This,
|
|
|
|
LPWSTR pszArgs,
|
|
|
|
int cch);
|
|
|
|
void __RPC_STUB IShellLinkW_GetArguments_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellLinkW_SetArguments_Proxy(
|
|
|
|
IShellLinkW* This,
|
|
|
|
LPCWSTR pszArgs);
|
|
|
|
void __RPC_STUB IShellLinkW_SetArguments_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellLinkW_GetHotkey_Proxy(
|
|
|
|
IShellLinkW* This,
|
|
|
|
WORD* pwHotkey);
|
|
|
|
void __RPC_STUB IShellLinkW_GetHotkey_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellLinkW_SetHotkey_Proxy(
|
|
|
|
IShellLinkW* This,
|
|
|
|
WORD wHotkey);
|
|
|
|
void __RPC_STUB IShellLinkW_SetHotkey_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellLinkW_GetShowCmd_Proxy(
|
|
|
|
IShellLinkW* This,
|
|
|
|
int* piShowCmd);
|
|
|
|
void __RPC_STUB IShellLinkW_GetShowCmd_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellLinkW_SetShowCmd_Proxy(
|
|
|
|
IShellLinkW* This,
|
|
|
|
int iShowCmd);
|
|
|
|
void __RPC_STUB IShellLinkW_SetShowCmd_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellLinkW_GetIconLocation_Proxy(
|
|
|
|
IShellLinkW* This,
|
|
|
|
LPWSTR pszIconPath,
|
|
|
|
int cch,
|
|
|
|
int* piIcon);
|
|
|
|
void __RPC_STUB IShellLinkW_GetIconLocation_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellLinkW_SetIconLocation_Proxy(
|
|
|
|
IShellLinkW* This,
|
|
|
|
LPCWSTR pszIconPath,
|
|
|
|
int iIcon);
|
|
|
|
void __RPC_STUB IShellLinkW_SetIconLocation_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellLinkW_SetRelativePath_Proxy(
|
|
|
|
IShellLinkW* This,
|
|
|
|
LPCWSTR pszPathRel,
|
|
|
|
DWORD dwReserved);
|
|
|
|
void __RPC_STUB IShellLinkW_SetRelativePath_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellLinkW_Resolve_Proxy(
|
|
|
|
IShellLinkW* This,
|
|
|
|
HWND hwnd,
|
|
|
|
DWORD fFlags);
|
|
|
|
void __RPC_STUB IShellLinkW_Resolve_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IShellLinkW_SetPath_Proxy(
|
|
|
|
IShellLinkW* This,
|
|
|
|
LPCWSTR pszFile);
|
|
|
|
void __RPC_STUB IShellLinkW_SetPath_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
|
|
|
|
#endif /* __IShellLinkW_INTERFACE_DEFINED__ */
|
|
|
|
|
|
|
|
#define IShellLink WINELIB_NAME_AW(IShellLink)
|
|
|
|
#ifndef __IShellExtInit_FWD_DEFINED__
|
|
|
|
#define __IShellExtInit_FWD_DEFINED__
|
|
|
|
typedef struct IShellExtInit IShellExtInit;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
typedef IShellExtInit *LPSHELLEXTINIT;
|
|
|
|
|
|
|
|
/*****************************************************************************
|
|
|
|
* IShellExtInit interface
|
|
|
|
*/
|
|
|
|
#ifndef __IShellExtInit_INTERFACE_DEFINED__
|
|
|
|
#define __IShellExtInit_INTERFACE_DEFINED__
|
|
|
|
|
|
|
|
DEFINE_GUID(IID_IShellExtInit, 0x000214e8, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
struct IShellExtInit : public IUnknown
|
|
|
|
{
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Initialize(
|
|
|
|
LPCITEMIDLIST pidlFolder,
|
|
|
|
IDataObject* pdtobj,
|
|
|
|
HKEY hkeyProgID) = 0;
|
|
|
|
|
|
|
|
};
|
|
|
|
#else
|
|
|
|
typedef struct IShellExtInitVtbl IShellExtInitVtbl;
|
|
|
|
struct IShellExtInit {
|
|
|
|
const IShellExtInitVtbl* lpVtbl;
|
|
|
|
};
|
|
|
|
struct IShellExtInitVtbl {
|
2004-08-22 04:25:05 +02:00
|
|
|
BEGIN_INTERFACE
|
2003-09-04 21:43:39 +02:00
|
|
|
|
|
|
|
/*** IUnknown methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
|
|
IShellExtInit* This,
|
|
|
|
REFIID riid,
|
|
|
|
void** ppvObject);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
|
|
IShellExtInit* This);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
|
|
IShellExtInit* This);
|
|
|
|
|
|
|
|
/*** IShellExtInit methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Initialize)(
|
|
|
|
IShellExtInit* This,
|
|
|
|
LPCITEMIDLIST pidlFolder,
|
|
|
|
IDataObject* pdtobj,
|
|
|
|
HKEY hkeyProgID);
|
|
|
|
|
2004-08-22 04:25:05 +02:00
|
|
|
END_INTERFACE
|
2003-09-04 21:43:39 +02:00
|
|
|
};
|
|
|
|
|
2004-08-11 21:43:45 +02:00
|
|
|
#ifdef COBJMACROS
|
2003-09-04 21:43:39 +02:00
|
|
|
/*** IUnknown methods ***/
|
|
|
|
#define IShellExtInit_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
|
|
|
#define IShellExtInit_AddRef(p) (p)->lpVtbl->AddRef(p)
|
|
|
|
#define IShellExtInit_Release(p) (p)->lpVtbl->Release(p)
|
|
|
|
/*** IShellExtInit methods ***/
|
|
|
|
#define IShellExtInit_Initialize(p,a,b,c) (p)->lpVtbl->Initialize(p,a,b,c)
|
2004-08-11 21:43:45 +02:00
|
|
|
#endif
|
2003-09-04 21:43:39 +02:00
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define IShellExtInit_METHODS \
|
|
|
|
/*** IUnknown methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
|
|
|
|
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
|
|
|
|
STDMETHOD_(ULONG,Release)(THIS) PURE; \
|
|
|
|
/*** IShellExtInit methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,Initialize)(THIS_ LPCITEMIDLIST pidlFolder, IDataObject* pdtobj, HKEY hkeyProgID) PURE;
|
|
|
|
|
|
|
|
HRESULT CALLBACK IShellExtInit_Initialize_Proxy(
|
|
|
|
IShellExtInit* This,
|
|
|
|
LPCITEMIDLIST pidlFolder,
|
|
|
|
IDataObject* pdtobj,
|
|
|
|
HKEY hkeyProgID);
|
|
|
|
void __RPC_STUB IShellExtInit_Initialize_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
|
|
|
|
#endif /* __IShellExtInit_INTERFACE_DEFINED__ */
|
|
|
|
|
2003-09-09 21:32:36 +02:00
|
|
|
#ifndef __IPersistFolder3_FWD_DEFINED__
|
|
|
|
#define __IPersistFolder3_FWD_DEFINED__
|
|
|
|
typedef struct IPersistFolder3 IPersistFolder3;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
LPITEMIDLIST pidlTargetFolder;
|
|
|
|
WCHAR szTargetParsingName[260];
|
|
|
|
WCHAR szNetworkProvider[260];
|
|
|
|
DWORD dwAttributes;
|
|
|
|
int csidl;
|
|
|
|
} PERSIST_FOLDER_TARGET_INFO;
|
|
|
|
|
|
|
|
/*****************************************************************************
|
|
|
|
* IPersistFolder3 interface
|
|
|
|
*/
|
|
|
|
#ifndef __IPersistFolder3_INTERFACE_DEFINED__
|
|
|
|
#define __IPersistFolder3_INTERFACE_DEFINED__
|
|
|
|
|
|
|
|
DEFINE_GUID(IID_IPersistFolder3, 0xcef04fdf, 0xfe72, 0x11d2, 0x87,0xa5, 0x00,0xc0,0x4f,0x68,0x37,0xcf);
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
struct IPersistFolder3 : public IPersistFolder2
|
|
|
|
{
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE InitializeEx(
|
|
|
|
IBindCtx* pbc,
|
|
|
|
LPCITEMIDLIST pidlRoot,
|
|
|
|
const PERSIST_FOLDER_TARGET_INFO* ppfti) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetFolderTargetInfo(
|
|
|
|
PERSIST_FOLDER_TARGET_INFO* ppfti) = 0;
|
|
|
|
|
|
|
|
};
|
|
|
|
#else
|
|
|
|
typedef struct IPersistFolder3Vtbl IPersistFolder3Vtbl;
|
|
|
|
struct IPersistFolder3 {
|
|
|
|
const IPersistFolder3Vtbl* lpVtbl;
|
|
|
|
};
|
|
|
|
struct IPersistFolder3Vtbl {
|
2004-08-22 04:25:05 +02:00
|
|
|
BEGIN_INTERFACE
|
2003-09-09 21:32:36 +02:00
|
|
|
|
|
|
|
/*** IUnknown methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
|
|
IPersistFolder3* This,
|
|
|
|
REFIID riid,
|
|
|
|
void** ppvObject);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
|
|
IPersistFolder3* This);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
|
|
IPersistFolder3* This);
|
|
|
|
|
|
|
|
/*** IPersist methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetClassID)(
|
|
|
|
IPersistFolder3* This,
|
|
|
|
CLSID* pClassID);
|
|
|
|
|
|
|
|
/*** IPersistFolder methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Initialize)(
|
|
|
|
IPersistFolder3* This,
|
|
|
|
LPCITEMIDLIST pidl);
|
|
|
|
|
|
|
|
/*** IPersistFolder2 methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetCurFolder)(
|
|
|
|
IPersistFolder3* This,
|
|
|
|
LPITEMIDLIST* ppidl);
|
|
|
|
|
|
|
|
/*** IPersistFolder3 methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *InitializeEx)(
|
|
|
|
IPersistFolder3* This,
|
|
|
|
IBindCtx* pbc,
|
|
|
|
LPCITEMIDLIST pidlRoot,
|
|
|
|
const PERSIST_FOLDER_TARGET_INFO* ppfti);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetFolderTargetInfo)(
|
|
|
|
IPersistFolder3* This,
|
|
|
|
PERSIST_FOLDER_TARGET_INFO* ppfti);
|
|
|
|
|
2004-08-22 04:25:05 +02:00
|
|
|
END_INTERFACE
|
2003-09-09 21:32:36 +02:00
|
|
|
};
|
|
|
|
|
2004-08-11 21:43:45 +02:00
|
|
|
#ifdef COBJMACROS
|
2003-09-09 21:32:36 +02:00
|
|
|
/*** IUnknown methods ***/
|
|
|
|
#define IPersistFolder3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
|
|
|
#define IPersistFolder3_AddRef(p) (p)->lpVtbl->AddRef(p)
|
|
|
|
#define IPersistFolder3_Release(p) (p)->lpVtbl->Release(p)
|
|
|
|
/*** IPersist methods ***/
|
|
|
|
#define IPersistFolder3_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
|
|
|
|
/*** IPersistFolder methods ***/
|
|
|
|
#define IPersistFolder3_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
|
|
|
|
/*** IPersistFolder2 methods ***/
|
|
|
|
#define IPersistFolder3_GetCurFolder(p,a) (p)->lpVtbl->GetCurFolder(p,a)
|
|
|
|
/*** IPersistFolder3 methods ***/
|
|
|
|
#define IPersistFolder3_InitializeEx(p,a,b,c) (p)->lpVtbl->InitializeEx(p,a,b,c)
|
|
|
|
#define IPersistFolder3_GetFolderTargetInfo(p,a) (p)->lpVtbl->GetFolderTargetInfo(p,a)
|
2004-08-11 21:43:45 +02:00
|
|
|
#endif
|
2003-09-09 21:32:36 +02:00
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define IPersistFolder3_METHODS \
|
|
|
|
/*** IUnknown methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
|
|
|
|
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
|
|
|
|
STDMETHOD_(ULONG,Release)(THIS) PURE; \
|
|
|
|
/*** IPersist methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \
|
|
|
|
/*** IPersistFolder methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,Initialize)(THIS_ LPCITEMIDLIST pidl) PURE; \
|
|
|
|
/*** IPersistFolder2 methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,GetCurFolder)(THIS_ LPITEMIDLIST* ppidl) PURE; \
|
|
|
|
/*** IPersistFolder3 methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,InitializeEx)(THIS_ IBindCtx* pbc, LPCITEMIDLIST pidlRoot, const PERSIST_FOLDER_TARGET_INFO* ppfti) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,GetFolderTargetInfo)(THIS_ PERSIST_FOLDER_TARGET_INFO* ppfti) PURE;
|
|
|
|
|
|
|
|
HRESULT CALLBACK IPersistFolder3_InitializeEx_Proxy(
|
|
|
|
IPersistFolder3* This,
|
|
|
|
IBindCtx* pbc,
|
|
|
|
LPCITEMIDLIST pidlRoot,
|
|
|
|
const PERSIST_FOLDER_TARGET_INFO* ppfti);
|
|
|
|
void __RPC_STUB IPersistFolder3_InitializeEx_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IPersistFolder3_GetFolderTargetInfo_Proxy(
|
|
|
|
IPersistFolder3* This,
|
|
|
|
PERSIST_FOLDER_TARGET_INFO* ppfti);
|
|
|
|
void __RPC_STUB IPersistFolder3_GetFolderTargetInfo_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
|
|
|
|
#endif /* __IPersistFolder3_INTERFACE_DEFINED__ */
|
|
|
|
|
|
|
|
#ifndef __IExtractIconA_FWD_DEFINED__
|
|
|
|
#define __IExtractIconA_FWD_DEFINED__
|
|
|
|
typedef struct IExtractIconA IExtractIconA;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define GIL_OPENICON 0x0001
|
|
|
|
#define GIL_FORSHELL 0x0002
|
|
|
|
#define GIL_ASYNC 0x0020
|
|
|
|
#define GIL_DEFAULTICON 0x0040
|
|
|
|
#define GIL_FORSHORTCUT 0x0080
|
|
|
|
#define GIL_SIMULATEDOC 0x0001
|
|
|
|
#define GIL_PERINSTANCE 0x0002
|
|
|
|
#define GIL_PERCLASS 0x0004
|
|
|
|
#define GIL_NOTFILENAME 0x0008
|
|
|
|
#define GIL_DONTCACHE 0x0010
|
|
|
|
typedef IExtractIconA *LPEXTRACTICONA;
|
|
|
|
|
|
|
|
/*****************************************************************************
|
|
|
|
* IExtractIconA interface
|
|
|
|
*/
|
|
|
|
#ifndef __IExtractIconA_INTERFACE_DEFINED__
|
|
|
|
#define __IExtractIconA_INTERFACE_DEFINED__
|
|
|
|
|
|
|
|
DEFINE_GUID(IID_IExtractIconA, 0x000214eb, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
struct IExtractIconA : public IUnknown
|
|
|
|
{
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetIconLocation(
|
|
|
|
UINT uFlags,
|
|
|
|
LPSTR szIconFile,
|
|
|
|
UINT cchMax,
|
|
|
|
INT* piIndex,
|
|
|
|
UINT* pwFlags) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Extract(
|
|
|
|
LPCSTR pszFile,
|
|
|
|
UINT nIconIndex,
|
|
|
|
HICON* phiconLarge,
|
|
|
|
HICON* phiconSmall,
|
|
|
|
UINT nIconSize) = 0;
|
|
|
|
|
|
|
|
};
|
|
|
|
#else
|
|
|
|
typedef struct IExtractIconAVtbl IExtractIconAVtbl;
|
|
|
|
struct IExtractIconA {
|
|
|
|
const IExtractIconAVtbl* lpVtbl;
|
|
|
|
};
|
|
|
|
struct IExtractIconAVtbl {
|
2004-08-22 04:25:05 +02:00
|
|
|
BEGIN_INTERFACE
|
2003-09-09 21:32:36 +02:00
|
|
|
|
|
|
|
/*** IUnknown methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
|
|
IExtractIconA* This,
|
|
|
|
REFIID riid,
|
|
|
|
void** ppvObject);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
|
|
IExtractIconA* This);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
|
|
IExtractIconA* This);
|
|
|
|
|
|
|
|
/*** IExtractIconA methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetIconLocation)(
|
|
|
|
IExtractIconA* This,
|
|
|
|
UINT uFlags,
|
|
|
|
LPSTR szIconFile,
|
|
|
|
UINT cchMax,
|
|
|
|
INT* piIndex,
|
|
|
|
UINT* pwFlags);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Extract)(
|
|
|
|
IExtractIconA* This,
|
|
|
|
LPCSTR pszFile,
|
|
|
|
UINT nIconIndex,
|
|
|
|
HICON* phiconLarge,
|
|
|
|
HICON* phiconSmall,
|
|
|
|
UINT nIconSize);
|
|
|
|
|
2004-08-22 04:25:05 +02:00
|
|
|
END_INTERFACE
|
2003-09-09 21:32:36 +02:00
|
|
|
};
|
|
|
|
|
2004-08-11 21:43:45 +02:00
|
|
|
#ifdef COBJMACROS
|
2003-09-09 21:32:36 +02:00
|
|
|
/*** IUnknown methods ***/
|
|
|
|
#define IExtractIconA_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
|
|
|
#define IExtractIconA_AddRef(p) (p)->lpVtbl->AddRef(p)
|
|
|
|
#define IExtractIconA_Release(p) (p)->lpVtbl->Release(p)
|
|
|
|
/*** IExtractIconA methods ***/
|
|
|
|
#define IExtractIconA_GetIconLocation(p,a,b,c,d,e) (p)->lpVtbl->GetIconLocation(p,a,b,c,d,e)
|
|
|
|
#define IExtractIconA_Extract(p,a,b,c,d,e) (p)->lpVtbl->Extract(p,a,b,c,d,e)
|
2004-08-11 21:43:45 +02:00
|
|
|
#endif
|
2003-09-09 21:32:36 +02:00
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define IExtractIconA_METHODS \
|
|
|
|
/*** IUnknown methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
|
|
|
|
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
|
|
|
|
STDMETHOD_(ULONG,Release)(THIS) PURE; \
|
|
|
|
/*** IExtractIconA methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,GetIconLocation)(THIS_ UINT uFlags, LPSTR szIconFile, UINT cchMax, INT* piIndex, UINT* pwFlags) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,Extract)(THIS_ LPCSTR pszFile, UINT nIconIndex, HICON* phiconLarge, HICON* phiconSmall, UINT nIconSize) PURE;
|
|
|
|
|
|
|
|
HRESULT CALLBACK IExtractIconA_GetIconLocation_Proxy(
|
|
|
|
IExtractIconA* This,
|
|
|
|
UINT uFlags,
|
|
|
|
LPSTR szIconFile,
|
|
|
|
UINT cchMax,
|
|
|
|
INT* piIndex,
|
|
|
|
UINT* pwFlags);
|
|
|
|
void __RPC_STUB IExtractIconA_GetIconLocation_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IExtractIconA_Extract_Proxy(
|
|
|
|
IExtractIconA* This,
|
|
|
|
LPCSTR pszFile,
|
|
|
|
UINT nIconIndex,
|
|
|
|
HICON* phiconLarge,
|
|
|
|
HICON* phiconSmall,
|
|
|
|
UINT nIconSize);
|
|
|
|
void __RPC_STUB IExtractIconA_Extract_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
|
|
|
|
#endif /* __IExtractIconA_INTERFACE_DEFINED__ */
|
|
|
|
|
|
|
|
#ifndef __IExtractIconW_FWD_DEFINED__
|
|
|
|
#define __IExtractIconW_FWD_DEFINED__
|
|
|
|
typedef struct IExtractIconW IExtractIconW;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
typedef IExtractIconW *LPEXTRACTICONW;
|
|
|
|
|
|
|
|
/*****************************************************************************
|
|
|
|
* IExtractIconW interface
|
|
|
|
*/
|
|
|
|
#ifndef __IExtractIconW_INTERFACE_DEFINED__
|
|
|
|
#define __IExtractIconW_INTERFACE_DEFINED__
|
|
|
|
|
|
|
|
DEFINE_GUID(IID_IExtractIconW, 0x000214fa, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
struct IExtractIconW : public IUnknown
|
|
|
|
{
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetIconLocation(
|
|
|
|
UINT uFlags,
|
|
|
|
LPWSTR szIconFile,
|
|
|
|
UINT cchMax,
|
|
|
|
INT* piIndex,
|
|
|
|
UINT* pwFlags) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Extract(
|
|
|
|
LPCWSTR pszFile,
|
|
|
|
UINT nIconIndex,
|
|
|
|
HICON* phiconLarge,
|
|
|
|
HICON* phiconSmall,
|
|
|
|
UINT nIconSize) = 0;
|
|
|
|
|
|
|
|
};
|
|
|
|
#else
|
|
|
|
typedef struct IExtractIconWVtbl IExtractIconWVtbl;
|
|
|
|
struct IExtractIconW {
|
|
|
|
const IExtractIconWVtbl* lpVtbl;
|
|
|
|
};
|
|
|
|
struct IExtractIconWVtbl {
|
2004-08-22 04:25:05 +02:00
|
|
|
BEGIN_INTERFACE
|
2003-09-09 21:32:36 +02:00
|
|
|
|
|
|
|
/*** IUnknown methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
|
|
IExtractIconW* This,
|
|
|
|
REFIID riid,
|
|
|
|
void** ppvObject);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
|
|
IExtractIconW* This);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
|
|
IExtractIconW* This);
|
|
|
|
|
|
|
|
/*** IExtractIconW methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetIconLocation)(
|
|
|
|
IExtractIconW* This,
|
|
|
|
UINT uFlags,
|
|
|
|
LPWSTR szIconFile,
|
|
|
|
UINT cchMax,
|
|
|
|
INT* piIndex,
|
|
|
|
UINT* pwFlags);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Extract)(
|
|
|
|
IExtractIconW* This,
|
|
|
|
LPCWSTR pszFile,
|
|
|
|
UINT nIconIndex,
|
|
|
|
HICON* phiconLarge,
|
|
|
|
HICON* phiconSmall,
|
|
|
|
UINT nIconSize);
|
|
|
|
|
2004-08-22 04:25:05 +02:00
|
|
|
END_INTERFACE
|
2003-09-09 21:32:36 +02:00
|
|
|
};
|
|
|
|
|
2004-08-11 21:43:45 +02:00
|
|
|
#ifdef COBJMACROS
|
2003-09-09 21:32:36 +02:00
|
|
|
/*** IUnknown methods ***/
|
|
|
|
#define IExtractIconW_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
|
|
|
#define IExtractIconW_AddRef(p) (p)->lpVtbl->AddRef(p)
|
|
|
|
#define IExtractIconW_Release(p) (p)->lpVtbl->Release(p)
|
|
|
|
/*** IExtractIconW methods ***/
|
|
|
|
#define IExtractIconW_GetIconLocation(p,a,b,c,d,e) (p)->lpVtbl->GetIconLocation(p,a,b,c,d,e)
|
|
|
|
#define IExtractIconW_Extract(p,a,b,c,d,e) (p)->lpVtbl->Extract(p,a,b,c,d,e)
|
2004-08-11 21:43:45 +02:00
|
|
|
#endif
|
2003-09-09 21:32:36 +02:00
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define IExtractIconW_METHODS \
|
|
|
|
/*** IUnknown methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
|
|
|
|
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
|
|
|
|
STDMETHOD_(ULONG,Release)(THIS) PURE; \
|
|
|
|
/*** IExtractIconW methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,GetIconLocation)(THIS_ UINT uFlags, LPWSTR szIconFile, UINT cchMax, INT* piIndex, UINT* pwFlags) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,Extract)(THIS_ LPCWSTR pszFile, UINT nIconIndex, HICON* phiconLarge, HICON* phiconSmall, UINT nIconSize) PURE;
|
|
|
|
|
|
|
|
HRESULT CALLBACK IExtractIconW_GetIconLocation_Proxy(
|
|
|
|
IExtractIconW* This,
|
|
|
|
UINT uFlags,
|
|
|
|
LPWSTR szIconFile,
|
|
|
|
UINT cchMax,
|
|
|
|
INT* piIndex,
|
|
|
|
UINT* pwFlags);
|
|
|
|
void __RPC_STUB IExtractIconW_GetIconLocation_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IExtractIconW_Extract_Proxy(
|
|
|
|
IExtractIconW* This,
|
|
|
|
LPCWSTR pszFile,
|
|
|
|
UINT nIconIndex,
|
|
|
|
HICON* phiconLarge,
|
|
|
|
HICON* phiconSmall,
|
|
|
|
UINT nIconSize);
|
|
|
|
void __RPC_STUB IExtractIconW_Extract_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
|
|
|
|
#endif /* __IExtractIconW_INTERFACE_DEFINED__ */
|
|
|
|
|
|
|
|
#define LPEXTRACTICON WINELIB_NAME_AW(LPEXTRACTICON)
|
|
|
|
#define IExtractIcon WINELIB_NAME_AW(IExtractIcon)
|
|
|
|
#ifndef __ICommDlgBrowser_FWD_DEFINED__
|
|
|
|
#define __ICommDlgBrowser_FWD_DEFINED__
|
|
|
|
typedef struct ICommDlgBrowser ICommDlgBrowser;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define CDBOSC_SETFOCUS 0x00000000
|
|
|
|
#define CDBOSC_KILLFOCUS 0x00000001
|
|
|
|
#define CDBOSC_SELCHANGE 0x00000002
|
|
|
|
#define CDBOSC_RENAME 0x00000003
|
|
|
|
#define CDBOSC_STATECHANGE 0x00000004
|
|
|
|
typedef ICommDlgBrowser *LPCOMMDLGBROWSER;
|
|
|
|
|
|
|
|
/*****************************************************************************
|
|
|
|
* ICommDlgBrowser interface
|
|
|
|
*/
|
|
|
|
#ifndef __ICommDlgBrowser_INTERFACE_DEFINED__
|
|
|
|
#define __ICommDlgBrowser_INTERFACE_DEFINED__
|
|
|
|
|
|
|
|
DEFINE_GUID(IID_ICommDlgBrowser, 0x000214f1, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
struct ICommDlgBrowser : public IUnknown
|
|
|
|
{
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE OnDefaultCommand(
|
|
|
|
IShellView* shv) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE OnStateChange(
|
|
|
|
IShellView* shv,
|
|
|
|
ULONG uChange) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE IncludeObject(
|
|
|
|
IShellView* shv,
|
|
|
|
LPCITEMIDLIST pidl) = 0;
|
|
|
|
|
|
|
|
};
|
|
|
|
#else
|
|
|
|
typedef struct ICommDlgBrowserVtbl ICommDlgBrowserVtbl;
|
|
|
|
struct ICommDlgBrowser {
|
|
|
|
const ICommDlgBrowserVtbl* lpVtbl;
|
|
|
|
};
|
|
|
|
struct ICommDlgBrowserVtbl {
|
2004-08-22 04:25:05 +02:00
|
|
|
BEGIN_INTERFACE
|
2003-09-09 21:32:36 +02:00
|
|
|
|
|
|
|
/*** IUnknown methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
|
|
ICommDlgBrowser* This,
|
|
|
|
REFIID riid,
|
|
|
|
void** ppvObject);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
|
|
ICommDlgBrowser* This);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
|
|
ICommDlgBrowser* This);
|
|
|
|
|
|
|
|
/*** ICommDlgBrowser methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *OnDefaultCommand)(
|
|
|
|
ICommDlgBrowser* This,
|
|
|
|
IShellView* shv);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *OnStateChange)(
|
|
|
|
ICommDlgBrowser* This,
|
|
|
|
IShellView* shv,
|
|
|
|
ULONG uChange);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *IncludeObject)(
|
|
|
|
ICommDlgBrowser* This,
|
|
|
|
IShellView* shv,
|
|
|
|
LPCITEMIDLIST pidl);
|
|
|
|
|
2004-08-22 04:25:05 +02:00
|
|
|
END_INTERFACE
|
2003-09-09 21:32:36 +02:00
|
|
|
};
|
|
|
|
|
2004-08-11 21:43:45 +02:00
|
|
|
#ifdef COBJMACROS
|
2003-09-09 21:32:36 +02:00
|
|
|
/*** IUnknown methods ***/
|
|
|
|
#define ICommDlgBrowser_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
|
|
|
#define ICommDlgBrowser_AddRef(p) (p)->lpVtbl->AddRef(p)
|
|
|
|
#define ICommDlgBrowser_Release(p) (p)->lpVtbl->Release(p)
|
|
|
|
/*** ICommDlgBrowser methods ***/
|
|
|
|
#define ICommDlgBrowser_OnDefaultCommand(p,a) (p)->lpVtbl->OnDefaultCommand(p,a)
|
|
|
|
#define ICommDlgBrowser_OnStateChange(p,a,b) (p)->lpVtbl->OnStateChange(p,a,b)
|
|
|
|
#define ICommDlgBrowser_IncludeObject(p,a,b) (p)->lpVtbl->IncludeObject(p,a,b)
|
2004-08-11 21:43:45 +02:00
|
|
|
#endif
|
2003-09-09 21:32:36 +02:00
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define ICommDlgBrowser_METHODS \
|
|
|
|
/*** IUnknown methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
|
|
|
|
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
|
|
|
|
STDMETHOD_(ULONG,Release)(THIS) PURE; \
|
|
|
|
/*** ICommDlgBrowser methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,OnDefaultCommand)(THIS_ IShellView* shv) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,OnStateChange)(THIS_ IShellView* shv, ULONG uChange) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,IncludeObject)(THIS_ IShellView* shv, LPCITEMIDLIST pidl) PURE;
|
|
|
|
|
|
|
|
HRESULT CALLBACK ICommDlgBrowser_OnDefaultCommand_Proxy(
|
|
|
|
ICommDlgBrowser* This,
|
|
|
|
IShellView* shv);
|
|
|
|
void __RPC_STUB ICommDlgBrowser_OnDefaultCommand_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK ICommDlgBrowser_OnStateChange_Proxy(
|
|
|
|
ICommDlgBrowser* This,
|
|
|
|
IShellView* shv,
|
|
|
|
ULONG uChange);
|
|
|
|
void __RPC_STUB ICommDlgBrowser_OnStateChange_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK ICommDlgBrowser_IncludeObject_Proxy(
|
|
|
|
ICommDlgBrowser* This,
|
|
|
|
IShellView* shv,
|
|
|
|
LPCITEMIDLIST pidl);
|
|
|
|
void __RPC_STUB ICommDlgBrowser_IncludeObject_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
|
|
|
|
#endif /* __ICommDlgBrowser_INTERFACE_DEFINED__ */
|
|
|
|
|
|
|
|
#ifndef __IDockingWindowFrame_FWD_DEFINED__
|
|
|
|
#define __IDockingWindowFrame_FWD_DEFINED__
|
|
|
|
typedef struct IDockingWindowFrame IDockingWindowFrame;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define DWFRF_NORMAL 0x0000
|
|
|
|
#define DWFRF_DELETECONFIGDATA 0x0001
|
|
|
|
#define DWFAF_HIDDEN 0x0001
|
|
|
|
/*****************************************************************************
|
|
|
|
* IDockingWindowFrame interface
|
|
|
|
*/
|
|
|
|
#ifndef __IDockingWindowFrame_INTERFACE_DEFINED__
|
|
|
|
#define __IDockingWindowFrame_INTERFACE_DEFINED__
|
|
|
|
|
|
|
|
DEFINE_GUID(IID_IDockingWindowFrame, 0x47d2657a, 0x7b27, 0x11d0, 0x8c,0xa9, 0x00,0xa0,0xc9,0x2d,0xbf,0xe8);
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
struct IDockingWindowFrame : public IOleWindow
|
|
|
|
{
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE AddToolbar(
|
|
|
|
IUnknown* punkSrc,
|
|
|
|
LPCWSTR pwszItem,
|
|
|
|
DWORD dwAddFlags) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE RemoveToolbar(
|
|
|
|
IUnknown* punkSrc,
|
|
|
|
DWORD dwRemoveFlags) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE FindToolbar(
|
|
|
|
LPCWSTR pwszItem,
|
|
|
|
REFIID riid,
|
|
|
|
LPVOID* ppvObj) = 0;
|
|
|
|
|
|
|
|
};
|
|
|
|
#else
|
|
|
|
typedef struct IDockingWindowFrameVtbl IDockingWindowFrameVtbl;
|
|
|
|
struct IDockingWindowFrame {
|
|
|
|
const IDockingWindowFrameVtbl* lpVtbl;
|
|
|
|
};
|
|
|
|
struct IDockingWindowFrameVtbl {
|
2004-08-22 04:25:05 +02:00
|
|
|
BEGIN_INTERFACE
|
2003-09-09 21:32:36 +02:00
|
|
|
|
|
|
|
/*** IUnknown methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
|
|
IDockingWindowFrame* This,
|
|
|
|
REFIID riid,
|
|
|
|
void** ppvObject);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
|
|
IDockingWindowFrame* This);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
|
|
IDockingWindowFrame* This);
|
|
|
|
|
|
|
|
/*** IOleWindow methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetWindow)(
|
|
|
|
IDockingWindowFrame* This,
|
|
|
|
HWND* phwnd);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *ContextSensitiveHelp)(
|
|
|
|
IDockingWindowFrame* This,
|
|
|
|
BOOL fEnterMode);
|
|
|
|
|
|
|
|
/*** IDockingWindowFrame methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *AddToolbar)(
|
|
|
|
IDockingWindowFrame* This,
|
|
|
|
IUnknown* punkSrc,
|
|
|
|
LPCWSTR pwszItem,
|
|
|
|
DWORD dwAddFlags);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *RemoveToolbar)(
|
|
|
|
IDockingWindowFrame* This,
|
|
|
|
IUnknown* punkSrc,
|
|
|
|
DWORD dwRemoveFlags);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *FindToolbar)(
|
|
|
|
IDockingWindowFrame* This,
|
|
|
|
LPCWSTR pwszItem,
|
|
|
|
REFIID riid,
|
|
|
|
LPVOID* ppvObj);
|
|
|
|
|
2004-08-22 04:25:05 +02:00
|
|
|
END_INTERFACE
|
2003-09-09 21:32:36 +02:00
|
|
|
};
|
|
|
|
|
2004-08-11 21:43:45 +02:00
|
|
|
#ifdef COBJMACROS
|
2003-09-09 21:32:36 +02:00
|
|
|
/*** IUnknown methods ***/
|
|
|
|
#define IDockingWindowFrame_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
|
|
|
#define IDockingWindowFrame_AddRef(p) (p)->lpVtbl->AddRef(p)
|
|
|
|
#define IDockingWindowFrame_Release(p) (p)->lpVtbl->Release(p)
|
|
|
|
/*** IOleWindow methods ***/
|
|
|
|
#define IDockingWindowFrame_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
|
|
|
|
#define IDockingWindowFrame_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
|
|
|
|
/*** IDockingWindowFrame methods ***/
|
|
|
|
#define IDockingWindowFrame_AddToolbar(p,a,b,c) (p)->lpVtbl->AddToolbar(p,a,b,c)
|
|
|
|
#define IDockingWindowFrame_RemoveToolbar(p,a,b) (p)->lpVtbl->RemoveToolbar(p,a,b)
|
|
|
|
#define IDockingWindowFrame_FindToolbar(p,a,b,c) (p)->lpVtbl->FindToolbar(p,a,b,c)
|
2004-08-11 21:43:45 +02:00
|
|
|
#endif
|
2003-09-09 21:32:36 +02:00
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define IDockingWindowFrame_METHODS \
|
|
|
|
/*** IUnknown methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
|
|
|
|
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
|
|
|
|
STDMETHOD_(ULONG,Release)(THIS) PURE; \
|
|
|
|
/*** IOleWindow methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND* phwnd) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE; \
|
|
|
|
/*** IDockingWindowFrame methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,AddToolbar)(THIS_ IUnknown* punkSrc, LPCWSTR pwszItem, DWORD dwAddFlags) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,RemoveToolbar)(THIS_ IUnknown* punkSrc, DWORD dwRemoveFlags) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,FindToolbar)(THIS_ LPCWSTR pwszItem, REFIID riid, LPVOID* ppvObj) PURE;
|
|
|
|
|
|
|
|
HRESULT CALLBACK IDockingWindowFrame_AddToolbar_Proxy(
|
|
|
|
IDockingWindowFrame* This,
|
|
|
|
IUnknown* punkSrc,
|
|
|
|
LPCWSTR pwszItem,
|
|
|
|
DWORD dwAddFlags);
|
|
|
|
void __RPC_STUB IDockingWindowFrame_AddToolbar_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IDockingWindowFrame_RemoveToolbar_Proxy(
|
|
|
|
IDockingWindowFrame* This,
|
|
|
|
IUnknown* punkSrc,
|
|
|
|
DWORD dwRemoveFlags);
|
|
|
|
void __RPC_STUB IDockingWindowFrame_RemoveToolbar_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IDockingWindowFrame_FindToolbar_Proxy(
|
|
|
|
IDockingWindowFrame* This,
|
|
|
|
LPCWSTR pwszItem,
|
|
|
|
REFIID riid,
|
|
|
|
LPVOID* ppvObj);
|
|
|
|
void __RPC_STUB IDockingWindowFrame_FindToolbar_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
|
|
|
|
#endif /* __IDockingWindowFrame_INTERFACE_DEFINED__ */
|
|
|
|
|
|
|
|
#ifndef __IDragSourceHelper_FWD_DEFINED__
|
|
|
|
#define __IDragSourceHelper_FWD_DEFINED__
|
|
|
|
typedef struct IDragSourceHelper IDragSourceHelper;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
SIZE sizeDragImage;
|
|
|
|
POINT ptOffset;
|
|
|
|
HBITMAP hbmpDragImage;
|
|
|
|
COLORREF crColorKey;
|
|
|
|
} SHDRAGIMAGE, *LPSHDRAGIMAGE;
|
|
|
|
|
|
|
|
/*****************************************************************************
|
|
|
|
* IDragSourceHelper interface
|
|
|
|
*/
|
|
|
|
#ifndef __IDragSourceHelper_INTERFACE_DEFINED__
|
|
|
|
#define __IDragSourceHelper_INTERFACE_DEFINED__
|
|
|
|
|
|
|
|
DEFINE_GUID(IID_IDragSourceHelper, 0xde5bf786, 0x477a, 0x11d2, 0x83,0x9d, 0x00,0xc0,0x4f,0xd9,0x18,0xd0);
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
struct IDragSourceHelper : public IUnknown
|
|
|
|
{
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE InitializeFromBitmap(
|
|
|
|
LPSHDRAGIMAGE pshdi,
|
|
|
|
IDataObject* pDataObject) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE InitializeFromWindow(
|
|
|
|
HWND hwnd,
|
|
|
|
POINT* ppt,
|
|
|
|
IDataObject* pDataObject) = 0;
|
|
|
|
|
|
|
|
};
|
|
|
|
#else
|
|
|
|
typedef struct IDragSourceHelperVtbl IDragSourceHelperVtbl;
|
|
|
|
struct IDragSourceHelper {
|
|
|
|
const IDragSourceHelperVtbl* lpVtbl;
|
|
|
|
};
|
|
|
|
struct IDragSourceHelperVtbl {
|
2004-08-22 04:25:05 +02:00
|
|
|
BEGIN_INTERFACE
|
2003-09-09 21:32:36 +02:00
|
|
|
|
|
|
|
/*** IUnknown methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
|
|
IDragSourceHelper* This,
|
|
|
|
REFIID riid,
|
|
|
|
void** ppvObject);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
|
|
IDragSourceHelper* This);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
|
|
IDragSourceHelper* This);
|
|
|
|
|
|
|
|
/*** IDragSourceHelper methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *InitializeFromBitmap)(
|
|
|
|
IDragSourceHelper* This,
|
|
|
|
LPSHDRAGIMAGE pshdi,
|
|
|
|
IDataObject* pDataObject);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *InitializeFromWindow)(
|
|
|
|
IDragSourceHelper* This,
|
|
|
|
HWND hwnd,
|
|
|
|
POINT* ppt,
|
|
|
|
IDataObject* pDataObject);
|
|
|
|
|
2004-08-22 04:25:05 +02:00
|
|
|
END_INTERFACE
|
2003-09-09 21:32:36 +02:00
|
|
|
};
|
|
|
|
|
2004-08-11 21:43:45 +02:00
|
|
|
#ifdef COBJMACROS
|
2003-09-09 21:32:36 +02:00
|
|
|
/*** IUnknown methods ***/
|
|
|
|
#define IDragSourceHelper_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
|
|
|
#define IDragSourceHelper_AddRef(p) (p)->lpVtbl->AddRef(p)
|
|
|
|
#define IDragSourceHelper_Release(p) (p)->lpVtbl->Release(p)
|
|
|
|
/*** IDragSourceHelper methods ***/
|
|
|
|
#define IDragSourceHelper_InitializeFromBitmap(p,a,b) (p)->lpVtbl->InitializeFromBitmap(p,a,b)
|
|
|
|
#define IDragSourceHelper_InitializeFromWindow(p,a,b,c) (p)->lpVtbl->InitializeFromWindow(p,a,b,c)
|
2004-08-11 21:43:45 +02:00
|
|
|
#endif
|
2003-09-09 21:32:36 +02:00
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define IDragSourceHelper_METHODS \
|
|
|
|
/*** IUnknown methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
|
|
|
|
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
|
|
|
|
STDMETHOD_(ULONG,Release)(THIS) PURE; \
|
|
|
|
/*** IDragSourceHelper methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,InitializeFromBitmap)(THIS_ LPSHDRAGIMAGE pshdi, IDataObject* pDataObject) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,InitializeFromWindow)(THIS_ HWND hwnd, POINT* ppt, IDataObject* pDataObject) PURE;
|
|
|
|
|
|
|
|
HRESULT CALLBACK IDragSourceHelper_InitializeFromBitmap_Proxy(
|
|
|
|
IDragSourceHelper* This,
|
|
|
|
LPSHDRAGIMAGE pshdi,
|
|
|
|
IDataObject* pDataObject);
|
|
|
|
void __RPC_STUB IDragSourceHelper_InitializeFromBitmap_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IDragSourceHelper_InitializeFromWindow_Proxy(
|
|
|
|
IDragSourceHelper* This,
|
|
|
|
HWND hwnd,
|
|
|
|
POINT* ppt,
|
|
|
|
IDataObject* pDataObject);
|
|
|
|
void __RPC_STUB IDragSourceHelper_InitializeFromWindow_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
|
|
|
|
#endif /* __IDragSourceHelper_INTERFACE_DEFINED__ */
|
|
|
|
|
|
|
|
#ifndef __IDropTargetHelper_FWD_DEFINED__
|
|
|
|
#define __IDropTargetHelper_FWD_DEFINED__
|
|
|
|
typedef struct IDropTargetHelper IDropTargetHelper;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
/*****************************************************************************
|
|
|
|
* IDropTargetHelper interface
|
|
|
|
*/
|
|
|
|
#ifndef __IDropTargetHelper_INTERFACE_DEFINED__
|
|
|
|
#define __IDropTargetHelper_INTERFACE_DEFINED__
|
|
|
|
|
|
|
|
DEFINE_GUID(IID_IDropTargetHelper, 0x4657278b, 0x411b, 0x11d2, 0x83,0x9a, 0x00,0xc0,0x4f,0xd9,0x18,0xd0);
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
struct IDropTargetHelper : public IUnknown
|
|
|
|
{
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE DragEnter(
|
|
|
|
HWND hwndTarget,
|
|
|
|
IDataObject* pDataObject,
|
|
|
|
POINT* ppt,
|
|
|
|
DWORD dwEffect) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE DragLeave(
|
|
|
|
) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE DragOver(
|
|
|
|
POINT* ppt,
|
|
|
|
DWORD dwEffect) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Drop(
|
|
|
|
IDataObject* pDataObject,
|
|
|
|
POINT* ppt,
|
|
|
|
DWORD dwEffect) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Show(
|
|
|
|
BOOL fShow) = 0;
|
|
|
|
|
|
|
|
};
|
|
|
|
#else
|
|
|
|
typedef struct IDropTargetHelperVtbl IDropTargetHelperVtbl;
|
|
|
|
struct IDropTargetHelper {
|
|
|
|
const IDropTargetHelperVtbl* lpVtbl;
|
|
|
|
};
|
|
|
|
struct IDropTargetHelperVtbl {
|
2004-08-22 04:25:05 +02:00
|
|
|
BEGIN_INTERFACE
|
2003-09-09 21:32:36 +02:00
|
|
|
|
|
|
|
/*** IUnknown methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
|
|
IDropTargetHelper* This,
|
|
|
|
REFIID riid,
|
|
|
|
void** ppvObject);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
|
|
IDropTargetHelper* This);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
|
|
IDropTargetHelper* This);
|
|
|
|
|
|
|
|
/*** IDropTargetHelper methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *DragEnter)(
|
|
|
|
IDropTargetHelper* This,
|
|
|
|
HWND hwndTarget,
|
|
|
|
IDataObject* pDataObject,
|
|
|
|
POINT* ppt,
|
|
|
|
DWORD dwEffect);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *DragLeave)(
|
|
|
|
IDropTargetHelper* This);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *DragOver)(
|
|
|
|
IDropTargetHelper* This,
|
|
|
|
POINT* ppt,
|
|
|
|
DWORD dwEffect);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Drop)(
|
|
|
|
IDropTargetHelper* This,
|
|
|
|
IDataObject* pDataObject,
|
|
|
|
POINT* ppt,
|
|
|
|
DWORD dwEffect);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Show)(
|
|
|
|
IDropTargetHelper* This,
|
|
|
|
BOOL fShow);
|
|
|
|
|
2004-08-22 04:25:05 +02:00
|
|
|
END_INTERFACE
|
2003-09-09 21:32:36 +02:00
|
|
|
};
|
|
|
|
|
2004-08-11 21:43:45 +02:00
|
|
|
#ifdef COBJMACROS
|
2003-09-09 21:32:36 +02:00
|
|
|
/*** IUnknown methods ***/
|
|
|
|
#define IDropTargetHelper_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
|
|
|
#define IDropTargetHelper_AddRef(p) (p)->lpVtbl->AddRef(p)
|
|
|
|
#define IDropTargetHelper_Release(p) (p)->lpVtbl->Release(p)
|
|
|
|
/*** IDropTargetHelper methods ***/
|
|
|
|
#define IDropTargetHelper_DragEnter(p,a,b,c,d) (p)->lpVtbl->DragEnter(p,a,b,c,d)
|
|
|
|
#define IDropTargetHelper_DragLeave(p) (p)->lpVtbl->DragLeave(p)
|
|
|
|
#define IDropTargetHelper_DragOver(p,a,b) (p)->lpVtbl->DragOver(p,a,b)
|
|
|
|
#define IDropTargetHelper_Drop(p,a,b,c) (p)->lpVtbl->Drop(p,a,b,c)
|
|
|
|
#define IDropTargetHelper_Show(p,a) (p)->lpVtbl->Show(p,a)
|
2004-08-11 21:43:45 +02:00
|
|
|
#endif
|
2003-09-09 21:32:36 +02:00
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define IDropTargetHelper_METHODS \
|
|
|
|
/*** IUnknown methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
|
|
|
|
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
|
|
|
|
STDMETHOD_(ULONG,Release)(THIS) PURE; \
|
|
|
|
/*** IDropTargetHelper methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,DragEnter)(THIS_ HWND hwndTarget, IDataObject* pDataObject, POINT* ppt, DWORD dwEffect) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,DragLeave)(THIS) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,DragOver)(THIS_ POINT* ppt, DWORD dwEffect) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,Drop)(THIS_ IDataObject* pDataObject, POINT* ppt, DWORD dwEffect) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,Show)(THIS_ BOOL fShow) PURE;
|
|
|
|
|
|
|
|
HRESULT CALLBACK IDropTargetHelper_DragEnter_Proxy(
|
|
|
|
IDropTargetHelper* This,
|
|
|
|
HWND hwndTarget,
|
|
|
|
IDataObject* pDataObject,
|
|
|
|
POINT* ppt,
|
|
|
|
DWORD dwEffect);
|
|
|
|
void __RPC_STUB IDropTargetHelper_DragEnter_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IDropTargetHelper_DragLeave_Proxy(
|
|
|
|
IDropTargetHelper* This);
|
|
|
|
void __RPC_STUB IDropTargetHelper_DragLeave_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IDropTargetHelper_DragOver_Proxy(
|
|
|
|
IDropTargetHelper* This,
|
|
|
|
POINT* ppt,
|
|
|
|
DWORD dwEffect);
|
|
|
|
void __RPC_STUB IDropTargetHelper_DragOver_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IDropTargetHelper_Drop_Proxy(
|
|
|
|
IDropTargetHelper* This,
|
|
|
|
IDataObject* pDataObject,
|
|
|
|
POINT* ppt,
|
|
|
|
DWORD dwEffect);
|
|
|
|
void __RPC_STUB IDropTargetHelper_Drop_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IDropTargetHelper_Show_Proxy(
|
|
|
|
IDropTargetHelper* This,
|
|
|
|
BOOL fShow);
|
|
|
|
void __RPC_STUB IDropTargetHelper_Show_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
|
|
|
|
#endif /* __IDropTargetHelper_INTERFACE_DEFINED__ */
|
|
|
|
|
|
|
|
#ifndef __IContextMenu_FWD_DEFINED__
|
|
|
|
#define __IContextMenu_FWD_DEFINED__
|
|
|
|
typedef struct IContextMenu IContextMenu;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define CMF_NORMAL 0x00000000
|
|
|
|
#define CMF_DEFAULTONLY 0x00000001
|
|
|
|
#define CMF_VERBSONLY 0x00000002
|
|
|
|
#define CMF_EXPLORE 0x00000004
|
|
|
|
#define CMF_NOVERBS 0x00000008
|
|
|
|
#define CMF_CANRENAME 0x00000010
|
|
|
|
#define CMF_NODEFAULT 0x00000020
|
|
|
|
#define CMF_INCLUDESTATIC 0x00000040
|
|
|
|
#define CMF_EXTENDEDVERBS 0x00000100
|
|
|
|
#define CMF_RESERVED 0xffff0000
|
|
|
|
#define GCS_VERBA 0x00000000
|
|
|
|
#define GCS_HELPTEXTA 0x00000001
|
|
|
|
#define GCS_VALIDATEA 0x00000002
|
|
|
|
#define GCS_VERBW 0x00000004
|
|
|
|
#define GCS_HELPTEXTW 0x00000005
|
|
|
|
#define GCS_VALIDATEW 0x00000006
|
|
|
|
#define GCS_UNICODE 0x00000004
|
|
|
|
#define GCS_VERB WINELIB_NAME_AW(GCS_VERB)
|
|
|
|
#define GCS_HELPTEXT WINELIB_NAME_AW(GCS_HELPTEXT)
|
|
|
|
#define GCS_VALIDATE WINELIB_NAME_AW(GCS_VALIDATE)
|
|
|
|
#define CMDSTR_NEWFOLDERA "NewFolder"
|
|
|
|
#define CMDSTR_VIEWLISTA "ViewList"
|
|
|
|
#define CMDSTR_VIEWDETAILSA "ViewDetails"
|
|
|
|
#if defined(__GNUC__)
|
|
|
|
# define CMDSTR_NEWFOLDERW (const WCHAR []){ 'N','e','w','F','o','l','d','e','r',0 }
|
|
|
|
# define CMDSTR_VIEWLISTW (const WCHAR []){ 'V','i','e','w','L','i','s','t',0 }
|
|
|
|
# define CMDSTR_VIEWDETAILSW (const WCHAR []){ 'V','i','e','w','D','e','t','a','i','l','s',0 }
|
|
|
|
#elif defined(_MSC_VER)
|
|
|
|
# define CMDSTR_NEWFOLDERW L"NewFolder"
|
|
|
|
# define CMDSTR_VIEWLISTW L"ViewList"
|
|
|
|
# define CMDSTR_VIEWDETAILSW L"ViewDetails"
|
|
|
|
#else
|
|
|
|
static const WCHAR CMDSTR_NEWFOLDERW[] = {'N','e','w','F','o','l','d','e','r',0};
|
|
|
|
static const WCHAR CMDSTR_VIEWLISTW [] = {'V','i','e','w','L','i','s','t',0};
|
|
|
|
static const WCHAR CMDSTR_VIEWDETAILSW[] = {'V','i','e','w','D','e','t','a','i','l','s',0};
|
|
|
|
#endif
|
|
|
|
#define CMDSTR_NEWFOLDER WINELIB_NAME_AW(CMDSTR_NEWFOLDER)
|
|
|
|
#define CMDSTR_VIEWLIST WINELIB_NAME_AW(CMDSTR_VIEWLIST)
|
|
|
|
#define CMDSTR_VIEWDETAILS WINELIB_NAME_AW(CMDSTR_VIEWDETAILS)
|
|
|
|
#define CMIC_MASK_HOTKEY SEE_MASK_HOTKEY
|
|
|
|
#define CMIC_MASK_ICON SEE_MASK_ICON
|
|
|
|
#define CMIC_MASK_FLAG_NO_UI SEE_MASK_FLAG_NO_UI
|
|
|
|
#define CMIC_MASK_UNICODE SEE_MASK_UNICODE
|
|
|
|
#define CMIC_MASK_NO_CONSOLE SEE_MASK_NO_CONSOLE
|
|
|
|
#define CMIC_MASK_HASLINKNAME SEE_MASK_HASLINKNAME
|
|
|
|
#define CMIC_MASK_FLAG_SEP_VDM SEE_MASK_FLAG_SEPVDM
|
|
|
|
#define CMIC_MASK_HASTITLE SEE_MASK_HASTITLE
|
|
|
|
#define CMIC_MASK_ASYNCOK SEE_MASK_ASYNCOK
|
|
|
|
#define CMIC_MASK_SHIFT_DOWN 0x10000000
|
|
|
|
#define CMIC_MASK_PTINVOKE 0x20000000
|
|
|
|
#define CMIC_MASK_CONTROL_DOWN 0x40000000
|
|
|
|
#define CMIC_MASK_FLAG_LOG_USAGE SEE_MASK_FLAG_LOG_USAGE
|
|
|
|
#define CMIC_MASK_NOZONECHECKS SEE_MASK_NOZONECHECKS
|
|
|
|
typedef IContextMenu *LPCONTEXTMENU;
|
|
|
|
|
|
|
|
typedef struct tagCMINVOKECOMMANDINFO {
|
|
|
|
DWORD cbSize;
|
|
|
|
DWORD fMask;
|
|
|
|
HWND hwnd;
|
|
|
|
LPCSTR lpVerb;
|
|
|
|
LPCSTR lpParameters;
|
|
|
|
LPCSTR lpDirectory;
|
|
|
|
INT nShow;
|
|
|
|
DWORD dwHotKey;
|
|
|
|
HANDLE hIcon;
|
|
|
|
} CMINVOKECOMMANDINFO, *LPCMINVOKECOMMANDINFO;
|
|
|
|
|
|
|
|
typedef struct tagCMInvokeCommandInfoEx {
|
|
|
|
DWORD cbSize;
|
|
|
|
DWORD fMask;
|
|
|
|
HWND hwnd;
|
|
|
|
LPCSTR lpVerb;
|
|
|
|
LPCSTR lpParameters;
|
|
|
|
LPCSTR lpDirectory;
|
|
|
|
INT nShow;
|
|
|
|
DWORD dwHotKey;
|
|
|
|
HANDLE hIcon;
|
|
|
|
LPCSTR lpTitle;
|
|
|
|
LPCWSTR lpVerbW;
|
|
|
|
LPCWSTR lpParametersW;
|
|
|
|
LPCWSTR lpDirectoryW;
|
|
|
|
LPCWSTR lpTitleW;
|
|
|
|
POINT ptInvoke;
|
|
|
|
} CMINVOKECOMMANDINFOEX, *LPCMINVOKECOMMANDINFOEX;
|
|
|
|
|
|
|
|
/*****************************************************************************
|
|
|
|
* IContextMenu interface
|
|
|
|
*/
|
|
|
|
#ifndef __IContextMenu_INTERFACE_DEFINED__
|
|
|
|
#define __IContextMenu_INTERFACE_DEFINED__
|
|
|
|
|
|
|
|
DEFINE_GUID(IID_IContextMenu, 0x000214e4, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
struct IContextMenu : public IUnknown
|
|
|
|
{
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE QueryContextMenu(
|
|
|
|
HMENU hmenu,
|
|
|
|
UINT indexMenu,
|
|
|
|
UINT idCmdFirst,
|
|
|
|
UINT idCmdLast,
|
|
|
|
UINT uFlags) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE InvokeCommand(
|
|
|
|
LPCMINVOKECOMMANDINFO lpici) = 0;
|
|
|
|
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetCommandString(
|
|
|
|
UINT idCmd,
|
|
|
|
UINT uType,
|
|
|
|
UINT* pwReserved,
|
|
|
|
LPSTR pszName,
|
|
|
|
UINT cchMax) = 0;
|
|
|
|
|
|
|
|
};
|
|
|
|
#else
|
|
|
|
typedef struct IContextMenuVtbl IContextMenuVtbl;
|
|
|
|
struct IContextMenu {
|
|
|
|
const IContextMenuVtbl* lpVtbl;
|
|
|
|
};
|
|
|
|
struct IContextMenuVtbl {
|
2004-08-22 04:25:05 +02:00
|
|
|
BEGIN_INTERFACE
|
2003-09-09 21:32:36 +02:00
|
|
|
|
|
|
|
/*** IUnknown methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
|
|
IContextMenu* This,
|
|
|
|
REFIID riid,
|
|
|
|
void** ppvObject);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
|
|
IContextMenu* This);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
|
|
IContextMenu* This);
|
|
|
|
|
|
|
|
/*** IContextMenu methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *QueryContextMenu)(
|
|
|
|
IContextMenu* This,
|
|
|
|
HMENU hmenu,
|
|
|
|
UINT indexMenu,
|
|
|
|
UINT idCmdFirst,
|
|
|
|
UINT idCmdLast,
|
|
|
|
UINT uFlags);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *InvokeCommand)(
|
|
|
|
IContextMenu* This,
|
|
|
|
LPCMINVOKECOMMANDINFO lpici);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetCommandString)(
|
|
|
|
IContextMenu* This,
|
|
|
|
UINT idCmd,
|
|
|
|
UINT uType,
|
|
|
|
UINT* pwReserved,
|
|
|
|
LPSTR pszName,
|
|
|
|
UINT cchMax);
|
|
|
|
|
2004-08-22 04:25:05 +02:00
|
|
|
END_INTERFACE
|
2003-09-09 21:32:36 +02:00
|
|
|
};
|
|
|
|
|
2004-08-11 21:43:45 +02:00
|
|
|
#ifdef COBJMACROS
|
2003-09-09 21:32:36 +02:00
|
|
|
/*** IUnknown methods ***/
|
|
|
|
#define IContextMenu_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
|
|
|
#define IContextMenu_AddRef(p) (p)->lpVtbl->AddRef(p)
|
|
|
|
#define IContextMenu_Release(p) (p)->lpVtbl->Release(p)
|
|
|
|
/*** IContextMenu methods ***/
|
|
|
|
#define IContextMenu_QueryContextMenu(p,a,b,c,d,e) (p)->lpVtbl->QueryContextMenu(p,a,b,c,d,e)
|
|
|
|
#define IContextMenu_InvokeCommand(p,a) (p)->lpVtbl->InvokeCommand(p,a)
|
|
|
|
#define IContextMenu_GetCommandString(p,a,b,c,d,e) (p)->lpVtbl->GetCommandString(p,a,b,c,d,e)
|
2004-08-11 21:43:45 +02:00
|
|
|
#endif
|
2003-09-09 21:32:36 +02:00
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define IContextMenu_METHODS \
|
|
|
|
/*** IUnknown methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
|
|
|
|
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
|
|
|
|
STDMETHOD_(ULONG,Release)(THIS) PURE; \
|
|
|
|
/*** IContextMenu methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,QueryContextMenu)(THIS_ HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO lpici) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,GetCommandString)(THIS_ UINT idCmd, UINT uType, UINT* pwReserved, LPSTR pszName, UINT cchMax) PURE;
|
|
|
|
|
|
|
|
HRESULT CALLBACK IContextMenu_QueryContextMenu_Proxy(
|
|
|
|
IContextMenu* This,
|
|
|
|
HMENU hmenu,
|
|
|
|
UINT indexMenu,
|
|
|
|
UINT idCmdFirst,
|
|
|
|
UINT idCmdLast,
|
|
|
|
UINT uFlags);
|
|
|
|
void __RPC_STUB IContextMenu_QueryContextMenu_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IContextMenu_InvokeCommand_Proxy(
|
|
|
|
IContextMenu* This,
|
|
|
|
LPCMINVOKECOMMANDINFO lpici);
|
|
|
|
void __RPC_STUB IContextMenu_InvokeCommand_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
HRESULT CALLBACK IContextMenu_GetCommandString_Proxy(
|
|
|
|
IContextMenu* This,
|
|
|
|
UINT idCmd,
|
|
|
|
UINT uType,
|
|
|
|
UINT* pwReserved,
|
|
|
|
LPSTR pszName,
|
|
|
|
UINT cchMax);
|
|
|
|
void __RPC_STUB IContextMenu_GetCommandString_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
|
|
|
|
#endif /* __IContextMenu_INTERFACE_DEFINED__ */
|
|
|
|
|
|
|
|
#ifndef __IContextMenu2_FWD_DEFINED__
|
|
|
|
#define __IContextMenu2_FWD_DEFINED__
|
|
|
|
typedef struct IContextMenu2 IContextMenu2;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
typedef IContextMenu2 *LPCONTEXTMENU2;
|
|
|
|
|
|
|
|
/*****************************************************************************
|
|
|
|
* IContextMenu2 interface
|
|
|
|
*/
|
|
|
|
#ifndef __IContextMenu2_INTERFACE_DEFINED__
|
|
|
|
#define __IContextMenu2_INTERFACE_DEFINED__
|
|
|
|
|
|
|
|
DEFINE_GUID(IID_IContextMenu2, 0x000214f4, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
struct IContextMenu2 : public IContextMenu
|
|
|
|
{
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE HandleMenuMsg(
|
|
|
|
UINT uMsg,
|
|
|
|
WPARAM wParam,
|
|
|
|
LPARAM lParam) = 0;
|
|
|
|
|
|
|
|
};
|
|
|
|
#else
|
|
|
|
typedef struct IContextMenu2Vtbl IContextMenu2Vtbl;
|
|
|
|
struct IContextMenu2 {
|
|
|
|
const IContextMenu2Vtbl* lpVtbl;
|
|
|
|
};
|
|
|
|
struct IContextMenu2Vtbl {
|
2004-08-22 04:25:05 +02:00
|
|
|
BEGIN_INTERFACE
|
2003-09-09 21:32:36 +02:00
|
|
|
|
|
|
|
/*** IUnknown methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
|
|
IContextMenu2* This,
|
|
|
|
REFIID riid,
|
|
|
|
void** ppvObject);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
|
|
IContextMenu2* This);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
|
|
IContextMenu2* This);
|
|
|
|
|
|
|
|
/*** IContextMenu methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *QueryContextMenu)(
|
|
|
|
IContextMenu2* This,
|
|
|
|
HMENU hmenu,
|
|
|
|
UINT indexMenu,
|
|
|
|
UINT idCmdFirst,
|
|
|
|
UINT idCmdLast,
|
|
|
|
UINT uFlags);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *InvokeCommand)(
|
|
|
|
IContextMenu2* This,
|
|
|
|
LPCMINVOKECOMMANDINFO lpici);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetCommandString)(
|
|
|
|
IContextMenu2* This,
|
|
|
|
UINT idCmd,
|
|
|
|
UINT uType,
|
|
|
|
UINT* pwReserved,
|
|
|
|
LPSTR pszName,
|
|
|
|
UINT cchMax);
|
|
|
|
|
|
|
|
/*** IContextMenu2 methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *HandleMenuMsg)(
|
|
|
|
IContextMenu2* This,
|
|
|
|
UINT uMsg,
|
|
|
|
WPARAM wParam,
|
|
|
|
LPARAM lParam);
|
|
|
|
|
2004-08-22 04:25:05 +02:00
|
|
|
END_INTERFACE
|
2003-09-09 21:32:36 +02:00
|
|
|
};
|
|
|
|
|
2004-08-11 21:43:45 +02:00
|
|
|
#ifdef COBJMACROS
|
2003-09-09 21:32:36 +02:00
|
|
|
/*** IUnknown methods ***/
|
|
|
|
#define IContextMenu2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
|
|
|
#define IContextMenu2_AddRef(p) (p)->lpVtbl->AddRef(p)
|
|
|
|
#define IContextMenu2_Release(p) (p)->lpVtbl->Release(p)
|
|
|
|
/*** IContextMenu methods ***/
|
|
|
|
#define IContextMenu2_QueryContextMenu(p,a,b,c,d,e) (p)->lpVtbl->QueryContextMenu(p,a,b,c,d,e)
|
|
|
|
#define IContextMenu2_InvokeCommand(p,a) (p)->lpVtbl->InvokeCommand(p,a)
|
|
|
|
#define IContextMenu2_GetCommandString(p,a,b,c,d,e) (p)->lpVtbl->GetCommandString(p,a,b,c,d,e)
|
|
|
|
/*** IContextMenu2 methods ***/
|
|
|
|
#define IContextMenu2_HandleMenuMsg(p,a,b,c) (p)->lpVtbl->HandleMenuMsg(p,a,b,c)
|
2004-08-11 21:43:45 +02:00
|
|
|
#endif
|
2003-09-09 21:32:36 +02:00
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define IContextMenu2_METHODS \
|
|
|
|
/*** IUnknown methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
|
|
|
|
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
|
|
|
|
STDMETHOD_(ULONG,Release)(THIS) PURE; \
|
|
|
|
/*** IContextMenu methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,QueryContextMenu)(THIS_ HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO lpici) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,GetCommandString)(THIS_ UINT idCmd, UINT uType, UINT* pwReserved, LPSTR pszName, UINT cchMax) PURE; \
|
|
|
|
/*** IContextMenu2 methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,HandleMenuMsg)(THIS_ UINT uMsg, WPARAM wParam, LPARAM lParam) PURE;
|
|
|
|
|
|
|
|
HRESULT CALLBACK IContextMenu2_HandleMenuMsg_Proxy(
|
|
|
|
IContextMenu2* This,
|
|
|
|
UINT uMsg,
|
|
|
|
WPARAM wParam,
|
|
|
|
LPARAM lParam);
|
|
|
|
void __RPC_STUB IContextMenu2_HandleMenuMsg_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
|
|
|
|
#endif /* __IContextMenu2_INTERFACE_DEFINED__ */
|
|
|
|
|
|
|
|
#ifndef __IContextMenu3_FWD_DEFINED__
|
|
|
|
#define __IContextMenu3_FWD_DEFINED__
|
|
|
|
typedef struct IContextMenu3 IContextMenu3;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
typedef IContextMenu3 *LPCONTEXTMENU3;
|
|
|
|
|
|
|
|
/*****************************************************************************
|
|
|
|
* IContextMenu3 interface
|
|
|
|
*/
|
|
|
|
#ifndef __IContextMenu3_INTERFACE_DEFINED__
|
|
|
|
#define __IContextMenu3_INTERFACE_DEFINED__
|
|
|
|
|
|
|
|
DEFINE_GUID(IID_IContextMenu3, 0xbcfce0a0, 0xec17, 0x11d0, 0x8d,0x10, 0x00,0xa0,0xc9,0x0f,0x27,0x19);
|
|
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
|
|
struct IContextMenu3 : public IContextMenu2
|
|
|
|
{
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE HandleMenuMsg2(
|
|
|
|
UINT uMsg,
|
|
|
|
WPARAM wParam,
|
|
|
|
LPARAM lParam,
|
|
|
|
LRESULT* plResult) = 0;
|
|
|
|
|
|
|
|
};
|
|
|
|
#else
|
|
|
|
typedef struct IContextMenu3Vtbl IContextMenu3Vtbl;
|
|
|
|
struct IContextMenu3 {
|
|
|
|
const IContextMenu3Vtbl* lpVtbl;
|
|
|
|
};
|
|
|
|
struct IContextMenu3Vtbl {
|
2004-08-22 04:25:05 +02:00
|
|
|
BEGIN_INTERFACE
|
2003-09-09 21:32:36 +02:00
|
|
|
|
|
|
|
/*** IUnknown methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
|
|
IContextMenu3* This,
|
|
|
|
REFIID riid,
|
|
|
|
void** ppvObject);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
|
|
IContextMenu3* This);
|
|
|
|
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
|
|
IContextMenu3* This);
|
|
|
|
|
|
|
|
/*** IContextMenu methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *QueryContextMenu)(
|
|
|
|
IContextMenu3* This,
|
|
|
|
HMENU hmenu,
|
|
|
|
UINT indexMenu,
|
|
|
|
UINT idCmdFirst,
|
|
|
|
UINT idCmdLast,
|
|
|
|
UINT uFlags);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *InvokeCommand)(
|
|
|
|
IContextMenu3* This,
|
|
|
|
LPCMINVOKECOMMANDINFO lpici);
|
|
|
|
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetCommandString)(
|
|
|
|
IContextMenu3* This,
|
|
|
|
UINT idCmd,
|
|
|
|
UINT uType,
|
|
|
|
UINT* pwReserved,
|
|
|
|
LPSTR pszName,
|
|
|
|
UINT cchMax);
|
|
|
|
|
|
|
|
/*** IContextMenu2 methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *HandleMenuMsg)(
|
|
|
|
IContextMenu3* This,
|
|
|
|
UINT uMsg,
|
|
|
|
WPARAM wParam,
|
|
|
|
LPARAM lParam);
|
|
|
|
|
|
|
|
/*** IContextMenu3 methods ***/
|
|
|
|
HRESULT (STDMETHODCALLTYPE *HandleMenuMsg2)(
|
|
|
|
IContextMenu3* This,
|
|
|
|
UINT uMsg,
|
|
|
|
WPARAM wParam,
|
|
|
|
LPARAM lParam,
|
|
|
|
LRESULT* plResult);
|
|
|
|
|
2004-08-22 04:25:05 +02:00
|
|
|
END_INTERFACE
|
2003-09-09 21:32:36 +02:00
|
|
|
};
|
|
|
|
|
2004-08-11 21:43:45 +02:00
|
|
|
#ifdef COBJMACROS
|
2003-09-09 21:32:36 +02:00
|
|
|
/*** IUnknown methods ***/
|
|
|
|
#define IContextMenu3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
|
|
|
|
#define IContextMenu3_AddRef(p) (p)->lpVtbl->AddRef(p)
|
|
|
|
#define IContextMenu3_Release(p) (p)->lpVtbl->Release(p)
|
|
|
|
/*** IContextMenu methods ***/
|
|
|
|
#define IContextMenu3_QueryContextMenu(p,a,b,c,d,e) (p)->lpVtbl->QueryContextMenu(p,a,b,c,d,e)
|
|
|
|
#define IContextMenu3_InvokeCommand(p,a) (p)->lpVtbl->InvokeCommand(p,a)
|
|
|
|
#define IContextMenu3_GetCommandString(p,a,b,c,d,e) (p)->lpVtbl->GetCommandString(p,a,b,c,d,e)
|
|
|
|
/*** IContextMenu2 methods ***/
|
|
|
|
#define IContextMenu3_HandleMenuMsg(p,a,b,c) (p)->lpVtbl->HandleMenuMsg(p,a,b,c)
|
|
|
|
/*** IContextMenu3 methods ***/
|
|
|
|
#define IContextMenu3_HandleMenuMsg2(p,a,b,c,d) (p)->lpVtbl->HandleMenuMsg2(p,a,b,c,d)
|
2004-08-11 21:43:45 +02:00
|
|
|
#endif
|
2003-09-09 21:32:36 +02:00
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define IContextMenu3_METHODS \
|
|
|
|
/*** IUnknown methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
|
|
|
|
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
|
|
|
|
STDMETHOD_(ULONG,Release)(THIS) PURE; \
|
|
|
|
/*** IContextMenu methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,QueryContextMenu)(THIS_ HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO lpici) PURE; \
|
|
|
|
STDMETHOD_(HRESULT,GetCommandString)(THIS_ UINT idCmd, UINT uType, UINT* pwReserved, LPSTR pszName, UINT cchMax) PURE; \
|
|
|
|
/*** IContextMenu2 methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,HandleMenuMsg)(THIS_ UINT uMsg, WPARAM wParam, LPARAM lParam) PURE; \
|
|
|
|
/*** IContextMenu3 methods ***/ \
|
|
|
|
STDMETHOD_(HRESULT,HandleMenuMsg2)(THIS_ UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT* plResult) PURE;
|
|
|
|
|
|
|
|
HRESULT CALLBACK IContextMenu3_HandleMenuMsg2_Proxy(
|
|
|
|
IContextMenu3* This,
|
|
|
|
UINT uMsg,
|
|
|
|
WPARAM wParam,
|
|
|
|
LPARAM lParam,
|
|
|
|
LRESULT* plResult);
|
|
|
|
void __RPC_STUB IContextMenu3_HandleMenuMsg2_Stub(
|
|
|
|
struct IRpcStubBuffer* This,
|
|
|
|
struct IRpcChannelBuffer* pRpcChannelBuffer,
|
|
|
|
PRPC_MESSAGE pRpcMessage,
|
|
|
|
DWORD* pdwStubPhase);
|
|
|
|
|
|
|
|
#endif /* __IContextMenu3_INTERFACE_DEFINED__ */
|
|
|
|
|
2004-01-06 22:38:55 +01:00
|
|
|
#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 {
|
2004-08-22 04:25:05 +02:00
|
|
|
BEGIN_INTERFACE
|
2004-01-06 22:38:55 +01:00
|
|
|
|
|
|
|
/*** 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);
|
|
|
|
|
2004-08-22 04:25:05 +02:00
|
|
|
END_INTERFACE
|
2004-01-06 22:38:55 +01:00
|
|
|
};
|
|
|
|
|
2004-08-11 21:43:45 +02:00
|
|
|
#ifdef COBJMACROS
|
2004-01-06 22:38:55 +01:00
|
|
|
/*** 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)
|
2004-08-11 21:43:45 +02:00
|
|
|
#endif
|
2004-01-06 22:38:55 +01:00
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define IShellExecuteHookA_METHODS \
|
|
|
|
/*** 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 {
|
2004-08-22 04:25:05 +02:00
|
|
|
BEGIN_INTERFACE
|
2004-01-06 22:38:55 +01:00
|
|
|
|
|
|
|
/*** 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);
|
|
|
|
|
2004-08-22 04:25:05 +02:00
|
|
|
END_INTERFACE
|
2004-01-06 22:38:55 +01:00
|
|
|
};
|
|
|
|
|
2004-08-11 21:43:45 +02:00
|
|
|
#ifdef COBJMACROS
|
2004-01-06 22:38:55 +01:00
|
|
|
/*** 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)
|
2004-08-11 21:43:45 +02:00
|
|
|
#endif
|
2004-01-06 22:38:55 +01:00
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define IShellExecuteHookW_METHODS \
|
|
|
|
/*** 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__ */
|
|
|
|
|
2003-09-04 21:43:39 +02:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif /* __WIDL_SHOBJIDL_H */
|