1 /*** Autogenerated by WIDL 0.1 from shobjidl.idl - Do not edit ***/
5 #ifndef __WIDL_SHOBJIDL_H
6 #define __WIDL_SHOBJIDL_H
16 #ifndef __IPersistFolder_FWD_DEFINED__
17 #define __IPersistFolder_FWD_DEFINED__
18 typedef struct IPersistFolder IPersistFolder
;
21 typedef IPersistFolder
*LPPERSISTFOLDER
;
23 /*****************************************************************************
24 * IPersistFolder interface
26 #ifndef __IPersistFolder_INTERFACE_DEFINED__
27 #define __IPersistFolder_INTERFACE_DEFINED__
29 DEFINE_GUID(IID_IPersistFolder
, 0x000214ea, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
30 #if defined(__cplusplus) && !defined(CINTERFACE)
31 struct IPersistFolder
: public IPersist
33 virtual HRESULT STDMETHODCALLTYPE
Initialize(
34 LPCITEMIDLIST pidl
) = 0;
38 typedef struct IPersistFolderVtbl IPersistFolderVtbl
;
39 struct IPersistFolder
{
40 const IPersistFolderVtbl
* lpVtbl
;
42 struct IPersistFolderVtbl
{
43 ICOM_MSVTABLE_COMPAT_FIELDS
45 /*** IUnknown methods ***/
46 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
51 ULONG (STDMETHODCALLTYPE
*AddRef
)(
52 IPersistFolder
* This
);
54 ULONG (STDMETHODCALLTYPE
*Release
)(
55 IPersistFolder
* This
);
57 /*** IPersist methods ***/
58 HRESULT (STDMETHODCALLTYPE
*GetClassID
)(
62 /*** IPersistFolder methods ***/
63 HRESULT (STDMETHODCALLTYPE
*Initialize
)(
69 /*** IUnknown methods ***/
70 #define IPersistFolder_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
71 #define IPersistFolder_AddRef(p) (p)->lpVtbl->AddRef(p)
72 #define IPersistFolder_Release(p) (p)->lpVtbl->Release(p)
73 /*** IPersist methods ***/
74 #define IPersistFolder_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
75 /*** IPersistFolder methods ***/
76 #define IPersistFolder_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
80 #define IPersistFolder_METHODS \
81 ICOM_MSVTABLE_COMPAT_FIELDS \
82 /*** IUnknown methods ***/ \
83 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
84 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
85 STDMETHOD_(ULONG,Release)(THIS) PURE; \
86 /*** IPersist methods ***/ \
87 STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \
88 /*** IPersistFolder methods ***/ \
89 STDMETHOD_(HRESULT,Initialize)(THIS_ LPCITEMIDLIST pidl) PURE;
91 HRESULT CALLBACK
IPersistFolder_Initialize_Proxy(
94 void __RPC_STUB
IPersistFolder_Initialize_Stub(
95 struct IRpcStubBuffer
* This
,
96 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
97 PRPC_MESSAGE pRpcMessage
,
100 #endif /* __IPersistFolder_INTERFACE_DEFINED__ */
102 #ifndef __IPersistFolder2_FWD_DEFINED__
103 #define __IPersistFolder2_FWD_DEFINED__
104 typedef struct IPersistFolder2 IPersistFolder2
;
107 typedef IPersistFolder2
*LPPERSISTFOLDER2
;
109 /*****************************************************************************
110 * IPersistFolder2 interface
112 #ifndef __IPersistFolder2_INTERFACE_DEFINED__
113 #define __IPersistFolder2_INTERFACE_DEFINED__
115 DEFINE_GUID(IID_IPersistFolder2
, 0x1ac3d9f0, 0x175c, 0x11d1, 0x95,0xbe, 0x00,0x60,0x97,0x97,0xea,0x4f);
116 #if defined(__cplusplus) && !defined(CINTERFACE)
117 struct IPersistFolder2
: public IPersistFolder
119 virtual HRESULT STDMETHODCALLTYPE
GetCurFolder(
120 LPITEMIDLIST
* ppidl
) = 0;
124 typedef struct IPersistFolder2Vtbl IPersistFolder2Vtbl
;
125 struct IPersistFolder2
{
126 const IPersistFolder2Vtbl
* lpVtbl
;
128 struct IPersistFolder2Vtbl
{
129 ICOM_MSVTABLE_COMPAT_FIELDS
131 /*** IUnknown methods ***/
132 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
133 IPersistFolder2
* This
,
137 ULONG (STDMETHODCALLTYPE
*AddRef
)(
138 IPersistFolder2
* This
);
140 ULONG (STDMETHODCALLTYPE
*Release
)(
141 IPersistFolder2
* This
);
143 /*** IPersist methods ***/
144 HRESULT (STDMETHODCALLTYPE
*GetClassID
)(
145 IPersistFolder2
* This
,
148 /*** IPersistFolder methods ***/
149 HRESULT (STDMETHODCALLTYPE
*Initialize
)(
150 IPersistFolder2
* This
,
153 /*** IPersistFolder2 methods ***/
154 HRESULT (STDMETHODCALLTYPE
*GetCurFolder
)(
155 IPersistFolder2
* This
,
156 LPITEMIDLIST
* ppidl
);
160 /*** IUnknown methods ***/
161 #define IPersistFolder2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
162 #define IPersistFolder2_AddRef(p) (p)->lpVtbl->AddRef(p)
163 #define IPersistFolder2_Release(p) (p)->lpVtbl->Release(p)
164 /*** IPersist methods ***/
165 #define IPersistFolder2_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
166 /*** IPersistFolder methods ***/
167 #define IPersistFolder2_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
168 /*** IPersistFolder2 methods ***/
169 #define IPersistFolder2_GetCurFolder(p,a) (p)->lpVtbl->GetCurFolder(p,a)
173 #define IPersistFolder2_METHODS \
174 ICOM_MSVTABLE_COMPAT_FIELDS \
175 /*** IUnknown methods ***/ \
176 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
177 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
178 STDMETHOD_(ULONG,Release)(THIS) PURE; \
179 /*** IPersist methods ***/ \
180 STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \
181 /*** IPersistFolder methods ***/ \
182 STDMETHOD_(HRESULT,Initialize)(THIS_ LPCITEMIDLIST pidl) PURE; \
183 /*** IPersistFolder2 methods ***/ \
184 STDMETHOD_(HRESULT,GetCurFolder)(THIS_ LPITEMIDLIST* ppidl) PURE;
186 HRESULT CALLBACK
IPersistFolder2_GetCurFolder_Proxy(
187 IPersistFolder2
* This
,
188 LPITEMIDLIST
* ppidl
);
189 void __RPC_STUB
IPersistFolder2_GetCurFolder_Stub(
190 struct IRpcStubBuffer
* This
,
191 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
192 PRPC_MESSAGE pRpcMessage
,
193 DWORD
* pdwStubPhase
);
195 #endif /* __IPersistFolder2_INTERFACE_DEFINED__ */
197 #ifndef __IEnumIDList_FWD_DEFINED__
198 #define __IEnumIDList_FWD_DEFINED__
199 typedef struct IEnumIDList IEnumIDList
;
202 typedef IEnumIDList
*LPENUMIDLIST
;
204 /*****************************************************************************
205 * IEnumIDList interface
207 #ifndef __IEnumIDList_INTERFACE_DEFINED__
208 #define __IEnumIDList_INTERFACE_DEFINED__
210 DEFINE_GUID(IID_IEnumIDList
, 0x000214f2, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
211 #if defined(__cplusplus) && !defined(CINTERFACE)
212 struct IEnumIDList
: public IUnknown
214 virtual HRESULT STDMETHODCALLTYPE
Next(
217 ULONG
* pceltFetched
) = 0;
219 virtual HRESULT STDMETHODCALLTYPE
Skip(
222 virtual HRESULT STDMETHODCALLTYPE
Reset(
225 virtual HRESULT STDMETHODCALLTYPE
Clone(
226 IEnumIDList
** ppenum
) = 0;
230 typedef struct IEnumIDListVtbl IEnumIDListVtbl
;
232 const IEnumIDListVtbl
* lpVtbl
;
234 struct IEnumIDListVtbl
{
235 ICOM_MSVTABLE_COMPAT_FIELDS
237 /*** IUnknown methods ***/
238 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
243 ULONG (STDMETHODCALLTYPE
*AddRef
)(
246 ULONG (STDMETHODCALLTYPE
*Release
)(
249 /*** IEnumIDList methods ***/
250 HRESULT (STDMETHODCALLTYPE
*Next
)(
254 ULONG
* pceltFetched
);
256 HRESULT (STDMETHODCALLTYPE
*Skip
)(
260 HRESULT (STDMETHODCALLTYPE
*Reset
)(
263 HRESULT (STDMETHODCALLTYPE
*Clone
)(
265 IEnumIDList
** ppenum
);
269 /*** IUnknown methods ***/
270 #define IEnumIDList_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
271 #define IEnumIDList_AddRef(p) (p)->lpVtbl->AddRef(p)
272 #define IEnumIDList_Release(p) (p)->lpVtbl->Release(p)
273 /*** IEnumIDList methods ***/
274 #define IEnumIDList_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
275 #define IEnumIDList_Skip(p,a) (p)->lpVtbl->Skip(p,a)
276 #define IEnumIDList_Reset(p) (p)->lpVtbl->Reset(p)
277 #define IEnumIDList_Clone(p,a) (p)->lpVtbl->Clone(p,a)
281 #define IEnumIDList_METHODS \
282 ICOM_MSVTABLE_COMPAT_FIELDS \
283 /*** IUnknown methods ***/ \
284 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
285 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
286 STDMETHOD_(ULONG,Release)(THIS) PURE; \
287 /*** IEnumIDList methods ***/ \
288 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, LPITEMIDLIST* rgelt, ULONG* pceltFetched) PURE; \
289 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
290 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
291 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumIDList** ppenum) PURE;
293 HRESULT CALLBACK
IEnumIDList_Next_Proxy(
297 ULONG
* pceltFetched
);
298 void __RPC_STUB
IEnumIDList_Next_Stub(
299 struct IRpcStubBuffer
* This
,
300 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
301 PRPC_MESSAGE pRpcMessage
,
302 DWORD
* pdwStubPhase
);
303 HRESULT CALLBACK
IEnumIDList_Skip_Proxy(
306 void __RPC_STUB
IEnumIDList_Skip_Stub(
307 struct IRpcStubBuffer
* This
,
308 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
309 PRPC_MESSAGE pRpcMessage
,
310 DWORD
* pdwStubPhase
);
311 HRESULT CALLBACK
IEnumIDList_Reset_Proxy(
313 void __RPC_STUB
IEnumIDList_Reset_Stub(
314 struct IRpcStubBuffer
* This
,
315 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
316 PRPC_MESSAGE pRpcMessage
,
317 DWORD
* pdwStubPhase
);
318 HRESULT CALLBACK
IEnumIDList_Clone_Proxy(
320 IEnumIDList
** ppenum
);
321 void __RPC_STUB
IEnumIDList_Clone_Stub(
322 struct IRpcStubBuffer
* This
,
323 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
324 PRPC_MESSAGE pRpcMessage
,
325 DWORD
* pdwStubPhase
);
327 #endif /* __IEnumIDList_INTERFACE_DEFINED__ */
329 #ifndef __IShellFolder_FWD_DEFINED__
330 #define __IShellFolder_FWD_DEFINED__
331 typedef struct IShellFolder IShellFolder
;
334 typedef IShellFolder
*LPSHELLFOLDER
;
336 typedef enum tagSHGDN
{
339 SHGDN_FOREDITING
= 0x1000,
340 SHGDN_INCLUDE_NONFILESYS
= 0x2000,
341 SHGDN_FORADDRESSBAR
= 0x4000,
342 SHGDN_FORPARSING
= 0x8000
345 typedef DWORD SHGDNF
;
348 SHCONTF_FOLDERS
= 32,
349 SHCONTF_NONFOLDERS
= 64,
350 SHCONTF_INCLUDEHIDDEN
= 128,
351 SHCONTF_INIT_ON_FIRST_NEXT
= 256,
352 SHCONTF_NETPRINTERSRCH
= 512,
353 SHCONTF_SHAREABLE
= 1024,
354 SHCONTF_STORAGE
= 2048
357 typedef DWORD SHCONTF
;
359 #define SFGAO_CANCOPY DROPEFFECT_COPY
360 #define SFGAO_CANMOVE DROPEFFECT_MOVE
361 #define SFGAO_CANLINK DROPEFFECT_LINK
362 #define SFGAO_CANRENAME 0x00000010L
363 #define SFGAO_CANDELETE 0x00000020L
364 #define SFGAO_HASPROPSHEET 0x00000040L
365 #define SFGAO_DROPTARGET 0x00000100L
366 #define SFGAO_CAPABILITYMASK 0x00000177L
367 #define SFGAO_LINK 0x00010000L
368 #define SFGAO_SHARE 0x00020000L
369 #define SFGAO_READONLY 0x00040000L
370 #define SFGAO_GHOSTED 0x00080000L
371 #define SFGAO_HIDDEN 0x00080000L
372 #define SFGAO_DISPLAYATTRMASK 0x000F0000L
373 #define SFGAO_FILESYSANCESTOR 0x10000000L
374 #define SFGAO_FOLDER 0x20000000L
375 #define SFGAO_FILESYSTEM 0x40000000L
376 #define SFGAO_HASSUBFOLDER 0x80000000L
377 #define SFGAO_CONTENTSMASK 0x80000000L
378 #define SFGAO_VALIDATE 0x01000000L
379 #define SFGAO_REMOVABLE 0x02000000L
380 #define SFGAO_COMPRESSED 0x04000000L
381 #define SFGAO_BROWSABLE 0x08000000L
382 #define SFGAO_NONENUMERATED 0x00100000L
383 #define SFGAO_NEWCONTENT 0x00200000L
384 typedef ULONG SFGAOF
;
386 /*****************************************************************************
387 * IShellFolder interface
389 #ifndef __IShellFolder_INTERFACE_DEFINED__
390 #define __IShellFolder_INTERFACE_DEFINED__
392 DEFINE_GUID(IID_IShellFolder
, 0x000214e6, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
393 #if defined(__cplusplus) && !defined(CINTERFACE)
394 struct IShellFolder
: public IUnknown
396 virtual HRESULT STDMETHODCALLTYPE
ParseDisplayName(
399 LPOLESTR lpszDisplayName
,
402 ULONG
* pdwAttributes
) = 0;
404 virtual HRESULT STDMETHODCALLTYPE
EnumObjects(
407 IEnumIDList
** ppenumIDList
) = 0;
409 virtual HRESULT STDMETHODCALLTYPE
BindToObject(
415 virtual HRESULT STDMETHODCALLTYPE
BindToStorage(
421 virtual HRESULT STDMETHODCALLTYPE
CompareIDs(
424 LPCITEMIDLIST pidl2
) = 0;
426 virtual HRESULT STDMETHODCALLTYPE
CreateViewObject(
431 virtual HRESULT STDMETHODCALLTYPE
GetAttributesOf(
433 LPCITEMIDLIST
* apidl
,
434 SFGAOF
* rgfInOut
) = 0;
436 virtual HRESULT STDMETHODCALLTYPE
GetUIObjectOf(
439 LPCITEMIDLIST
* apidl
,
444 virtual HRESULT STDMETHODCALLTYPE
GetDisplayNameOf(
449 virtual HRESULT STDMETHODCALLTYPE
SetNameOf(
454 LPITEMIDLIST
* ppidlOut
) = 0;
458 typedef struct IShellFolderVtbl IShellFolderVtbl
;
459 struct IShellFolder
{
460 const IShellFolderVtbl
* lpVtbl
;
462 struct IShellFolderVtbl
{
463 ICOM_MSVTABLE_COMPAT_FIELDS
465 /*** IUnknown methods ***/
466 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
471 ULONG (STDMETHODCALLTYPE
*AddRef
)(
474 ULONG (STDMETHODCALLTYPE
*Release
)(
477 /*** IShellFolder methods ***/
478 HRESULT (STDMETHODCALLTYPE
*ParseDisplayName
)(
482 LPOLESTR lpszDisplayName
,
485 ULONG
* pdwAttributes
);
487 HRESULT (STDMETHODCALLTYPE
*EnumObjects
)(
491 IEnumIDList
** ppenumIDList
);
493 HRESULT (STDMETHODCALLTYPE
*BindToObject
)(
500 HRESULT (STDMETHODCALLTYPE
*BindToStorage
)(
507 HRESULT (STDMETHODCALLTYPE
*CompareIDs
)(
511 LPCITEMIDLIST pidl2
);
513 HRESULT (STDMETHODCALLTYPE
*CreateViewObject
)(
519 HRESULT (STDMETHODCALLTYPE
*GetAttributesOf
)(
522 LPCITEMIDLIST
* apidl
,
525 HRESULT (STDMETHODCALLTYPE
*GetUIObjectOf
)(
529 LPCITEMIDLIST
* apidl
,
534 HRESULT (STDMETHODCALLTYPE
*GetDisplayNameOf
)(
540 HRESULT (STDMETHODCALLTYPE
*SetNameOf
)(
546 LPITEMIDLIST
* ppidlOut
);
550 /*** IUnknown methods ***/
551 #define IShellFolder_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
552 #define IShellFolder_AddRef(p) (p)->lpVtbl->AddRef(p)
553 #define IShellFolder_Release(p) (p)->lpVtbl->Release(p)
554 /*** IShellFolder methods ***/
555 #define IShellFolder_ParseDisplayName(p,a,b,c,d,e,f) (p)->lpVtbl->ParseDisplayName(p,a,b,c,d,e,f)
556 #define IShellFolder_EnumObjects(p,a,b,c) (p)->lpVtbl->EnumObjects(p,a,b,c)
557 #define IShellFolder_BindToObject(p,a,b,c,d) (p)->lpVtbl->BindToObject(p,a,b,c,d)
558 #define IShellFolder_BindToStorage(p,a,b,c,d) (p)->lpVtbl->BindToStorage(p,a,b,c,d)
559 #define IShellFolder_CompareIDs(p,a,b,c) (p)->lpVtbl->CompareIDs(p,a,b,c)
560 #define IShellFolder_CreateViewObject(p,a,b,c) (p)->lpVtbl->CreateViewObject(p,a,b,c)
561 #define IShellFolder_GetAttributesOf(p,a,b,c) (p)->lpVtbl->GetAttributesOf(p,a,b,c)
562 #define IShellFolder_GetUIObjectOf(p,a,b,c,d,e,f) (p)->lpVtbl->GetUIObjectOf(p,a,b,c,d,e,f)
563 #define IShellFolder_GetDisplayNameOf(p,a,b,c) (p)->lpVtbl->GetDisplayNameOf(p,a,b,c)
564 #define IShellFolder_SetNameOf(p,a,b,c,d,e) (p)->lpVtbl->SetNameOf(p,a,b,c,d,e)
568 #define IShellFolder_METHODS \
569 ICOM_MSVTABLE_COMPAT_FIELDS \
570 /*** IUnknown methods ***/ \
571 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
572 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
573 STDMETHOD_(ULONG,Release)(THIS) PURE; \
574 /*** IShellFolder methods ***/ \
575 STDMETHOD_(HRESULT,ParseDisplayName)(THIS_ HWND hwndOwner, LPBC pbcReserved, LPOLESTR lpszDisplayName, ULONG* pchEaten, LPITEMIDLIST* ppidl, ULONG* pdwAttributes) PURE; \
576 STDMETHOD_(HRESULT,EnumObjects)(THIS_ HWND hwndOwner, SHCONTF grfFlags, IEnumIDList** ppenumIDList) PURE; \
577 STDMETHOD_(HRESULT,BindToObject)(THIS_ LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, void** ppvOut) PURE; \
578 STDMETHOD_(HRESULT,BindToStorage)(THIS_ LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, void** ppvObj) PURE; \
579 STDMETHOD_(HRESULT,CompareIDs)(THIS_ LPARAM lParam, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2) PURE; \
580 STDMETHOD_(HRESULT,CreateViewObject)(THIS_ HWND hwndOwner, REFIID riid, void** ppvOut) PURE; \
581 STDMETHOD_(HRESULT,GetAttributesOf)(THIS_ UINT cidl, LPCITEMIDLIST* apidl, SFGAOF* rgfInOut) PURE; \
582 STDMETHOD_(HRESULT,GetUIObjectOf)(THIS_ HWND hwndOwner, UINT cidl, LPCITEMIDLIST* apidl, REFIID riid, UINT* prgfInOut, void** ppvOut) PURE; \
583 STDMETHOD_(HRESULT,GetDisplayNameOf)(THIS_ LPCITEMIDLIST pidl, SHGDNF uFlags, STRRET* lpName) PURE; \
584 STDMETHOD_(HRESULT,SetNameOf)(THIS_ HWND hwnd, LPCITEMIDLIST pidl, LPCOLESTR lpszName, SHGDNF uFlags, LPITEMIDLIST* ppidlOut) PURE;
586 HRESULT CALLBACK
IShellFolder_ParseDisplayName_Proxy(
590 LPOLESTR lpszDisplayName
,
593 ULONG
* pdwAttributes
);
594 void __RPC_STUB
IShellFolder_ParseDisplayName_Stub(
595 struct IRpcStubBuffer
* This
,
596 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
597 PRPC_MESSAGE pRpcMessage
,
598 DWORD
* pdwStubPhase
);
599 HRESULT CALLBACK
IShellFolder_EnumObjects_Proxy(
603 IEnumIDList
** ppenumIDList
);
604 void __RPC_STUB
IShellFolder_EnumObjects_Stub(
605 struct IRpcStubBuffer
* This
,
606 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
607 PRPC_MESSAGE pRpcMessage
,
608 DWORD
* pdwStubPhase
);
609 HRESULT CALLBACK
IShellFolder_BindToObject_Proxy(
615 void __RPC_STUB
IShellFolder_BindToObject_Stub(
616 struct IRpcStubBuffer
* This
,
617 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
618 PRPC_MESSAGE pRpcMessage
,
619 DWORD
* pdwStubPhase
);
620 HRESULT CALLBACK
IShellFolder_BindToStorage_Proxy(
626 void __RPC_STUB
IShellFolder_BindToStorage_Stub(
627 struct IRpcStubBuffer
* This
,
628 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
629 PRPC_MESSAGE pRpcMessage
,
630 DWORD
* pdwStubPhase
);
631 HRESULT CALLBACK
IShellFolder_CompareIDs_Proxy(
635 LPCITEMIDLIST pidl2
);
636 void __RPC_STUB
IShellFolder_CompareIDs_Stub(
637 struct IRpcStubBuffer
* This
,
638 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
639 PRPC_MESSAGE pRpcMessage
,
640 DWORD
* pdwStubPhase
);
641 HRESULT CALLBACK
IShellFolder_CreateViewObject_Proxy(
646 void __RPC_STUB
IShellFolder_CreateViewObject_Stub(
647 struct IRpcStubBuffer
* This
,
648 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
649 PRPC_MESSAGE pRpcMessage
,
650 DWORD
* pdwStubPhase
);
651 HRESULT CALLBACK
IShellFolder_GetAttributesOf_Proxy(
654 LPCITEMIDLIST
* apidl
,
656 void __RPC_STUB
IShellFolder_GetAttributesOf_Stub(
657 struct IRpcStubBuffer
* This
,
658 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
659 PRPC_MESSAGE pRpcMessage
,
660 DWORD
* pdwStubPhase
);
661 HRESULT CALLBACK
IShellFolder_GetUIObjectOf_Proxy(
665 LPCITEMIDLIST
* apidl
,
669 void __RPC_STUB
IShellFolder_GetUIObjectOf_Stub(
670 struct IRpcStubBuffer
* This
,
671 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
672 PRPC_MESSAGE pRpcMessage
,
673 DWORD
* pdwStubPhase
);
674 HRESULT CALLBACK
IShellFolder_GetDisplayNameOf_Proxy(
679 void __RPC_STUB
IShellFolder_GetDisplayNameOf_Stub(
680 struct IRpcStubBuffer
* This
,
681 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
682 PRPC_MESSAGE pRpcMessage
,
683 DWORD
* pdwStubPhase
);
684 HRESULT CALLBACK
IShellFolder_SetNameOf_Proxy(
690 LPITEMIDLIST
* ppidlOut
);
691 void __RPC_STUB
IShellFolder_SetNameOf_Stub(
692 struct IRpcStubBuffer
* This
,
693 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
694 PRPC_MESSAGE pRpcMessage
,
695 DWORD
* pdwStubPhase
);
697 #endif /* __IShellFolder_INTERFACE_DEFINED__ */
699 #ifndef __IEnumExtraSearch_FWD_DEFINED__
700 #define __IEnumExtraSearch_FWD_DEFINED__
701 typedef struct IEnumExtraSearch IEnumExtraSearch
;
704 typedef IEnumExtraSearch
*LPENUMEXTRASEARCH
;
708 WCHAR wszFriendlyName
[80];
710 } EXTRASEARCH
, *LPEXTRASEARCH
;
712 /*****************************************************************************
713 * IEnumExtraSearch interface
715 #ifndef __IEnumExtraSearch_INTERFACE_DEFINED__
716 #define __IEnumExtraSearch_INTERFACE_DEFINED__
718 DEFINE_GUID(IID_IEnumExtraSearch
, 0x0e700be1, 0x9db6, 0x11d1, 0xa1,0xce, 0x00,0xc0,0x4f,0xd7,0x5d,0x13);
719 #if defined(__cplusplus) && !defined(CINTERFACE)
720 struct IEnumExtraSearch
: public IUnknown
722 virtual HRESULT STDMETHODCALLTYPE
Next(
725 ULONG
* pceltFetched
) = 0;
727 virtual HRESULT STDMETHODCALLTYPE
Skip(
730 virtual HRESULT STDMETHODCALLTYPE
Reset(
733 virtual HRESULT STDMETHODCALLTYPE
Clone(
734 IEnumExtraSearch
** ppenum
) = 0;
738 typedef struct IEnumExtraSearchVtbl IEnumExtraSearchVtbl
;
739 struct IEnumExtraSearch
{
740 const IEnumExtraSearchVtbl
* lpVtbl
;
742 struct IEnumExtraSearchVtbl
{
743 ICOM_MSVTABLE_COMPAT_FIELDS
745 /*** IUnknown methods ***/
746 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
747 IEnumExtraSearch
* This
,
751 ULONG (STDMETHODCALLTYPE
*AddRef
)(
752 IEnumExtraSearch
* This
);
754 ULONG (STDMETHODCALLTYPE
*Release
)(
755 IEnumExtraSearch
* This
);
757 /*** IEnumExtraSearch methods ***/
758 HRESULT (STDMETHODCALLTYPE
*Next
)(
759 IEnumExtraSearch
* This
,
762 ULONG
* pceltFetched
);
764 HRESULT (STDMETHODCALLTYPE
*Skip
)(
765 IEnumExtraSearch
* This
,
768 HRESULT (STDMETHODCALLTYPE
*Reset
)(
769 IEnumExtraSearch
* This
);
771 HRESULT (STDMETHODCALLTYPE
*Clone
)(
772 IEnumExtraSearch
* This
,
773 IEnumExtraSearch
** ppenum
);
777 /*** IUnknown methods ***/
778 #define IEnumExtraSearch_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
779 #define IEnumExtraSearch_AddRef(p) (p)->lpVtbl->AddRef(p)
780 #define IEnumExtraSearch_Release(p) (p)->lpVtbl->Release(p)
781 /*** IEnumExtraSearch methods ***/
782 #define IEnumExtraSearch_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
783 #define IEnumExtraSearch_Skip(p,a) (p)->lpVtbl->Skip(p,a)
784 #define IEnumExtraSearch_Reset(p) (p)->lpVtbl->Reset(p)
785 #define IEnumExtraSearch_Clone(p,a) (p)->lpVtbl->Clone(p,a)
789 #define IEnumExtraSearch_METHODS \
790 ICOM_MSVTABLE_COMPAT_FIELDS \
791 /*** IUnknown methods ***/ \
792 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
793 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
794 STDMETHOD_(ULONG,Release)(THIS) PURE; \
795 /*** IEnumExtraSearch methods ***/ \
796 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, EXTRASEARCH* rgelt, ULONG* pceltFetched) PURE; \
797 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
798 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
799 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumExtraSearch** ppenum) PURE;
801 HRESULT CALLBACK
IEnumExtraSearch_Next_Proxy(
802 IEnumExtraSearch
* This
,
805 ULONG
* pceltFetched
);
806 void __RPC_STUB
IEnumExtraSearch_Next_Stub(
807 struct IRpcStubBuffer
* This
,
808 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
809 PRPC_MESSAGE pRpcMessage
,
810 DWORD
* pdwStubPhase
);
811 HRESULT CALLBACK
IEnumExtraSearch_Skip_Proxy(
812 IEnumExtraSearch
* This
,
814 void __RPC_STUB
IEnumExtraSearch_Skip_Stub(
815 struct IRpcStubBuffer
* This
,
816 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
817 PRPC_MESSAGE pRpcMessage
,
818 DWORD
* pdwStubPhase
);
819 HRESULT CALLBACK
IEnumExtraSearch_Reset_Proxy(
820 IEnumExtraSearch
* This
);
821 void __RPC_STUB
IEnumExtraSearch_Reset_Stub(
822 struct IRpcStubBuffer
* This
,
823 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
824 PRPC_MESSAGE pRpcMessage
,
825 DWORD
* pdwStubPhase
);
826 HRESULT CALLBACK
IEnumExtraSearch_Clone_Proxy(
827 IEnumExtraSearch
* This
,
828 IEnumExtraSearch
** ppenum
);
829 void __RPC_STUB
IEnumExtraSearch_Clone_Stub(
830 struct IRpcStubBuffer
* This
,
831 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
832 PRPC_MESSAGE pRpcMessage
,
833 DWORD
* pdwStubPhase
);
835 #endif /* __IEnumExtraSearch_INTERFACE_DEFINED__ */
837 #ifndef __IShellFolder2_FWD_DEFINED__
838 #define __IShellFolder2_FWD_DEFINED__
839 typedef struct IShellFolder2 IShellFolder2
;
843 SHCOLSTATE_TYPE_STR
= 0x1,
844 SHCOLSTATE_TYPE_INT
= 0x2,
845 SHCOLSTATE_TYPE_DATE
= 0x3,
846 SHCOLSTATE_TYPEMASK
= 0xf,
847 SHCOLSTATE_ONBYDEFAULT
= 0x10,
848 SHCOLSTATE_SLOW
= 0x20,
849 SHCOLSTATE_EXTENDED
= 0x40,
850 SHCOLSTATE_SECONDARYUI
= 0x80,
851 SHCOLSTATE_HIDDEN
= 0x100,
852 SHCOLSTATE_PREFER_VARCMP
= 0x200
855 typedef DWORD SHCOLSTATEF
;
860 } SHCOLUMNID
, *LPSHCOLUMNID
;
862 typedef const SHCOLUMNID
*LPCSHCOLUMNID
;
864 /*****************************************************************************
865 * IShellFolder2 interface
867 #ifndef __IShellFolder2_INTERFACE_DEFINED__
868 #define __IShellFolder2_INTERFACE_DEFINED__
870 DEFINE_GUID(IID_IShellFolder2
, 0x93f2f68c, 0x1d1b, 0x11d3, 0xa3,0x0e, 0x00,0xc0,0x4f,0x79,0xab,0xd1);
871 #if defined(__cplusplus) && !defined(CINTERFACE)
872 struct IShellFolder2
: public IShellFolder
874 virtual HRESULT STDMETHODCALLTYPE
GetDefaultSearchGUID(
877 virtual HRESULT STDMETHODCALLTYPE
EnumSearches(
878 IEnumExtraSearch
** ppenum
) = 0;
880 virtual HRESULT STDMETHODCALLTYPE
GetDefaultColumn(
883 ULONG
* pDisplay
) = 0;
885 virtual HRESULT STDMETHODCALLTYPE
GetDefaultColumnState(
887 SHCOLSTATEF
* pcsFlags
) = 0;
889 virtual HRESULT STDMETHODCALLTYPE
GetDetailsEx(
891 const SHCOLUMNID
* pscid
,
894 virtual HRESULT STDMETHODCALLTYPE
GetDetailsOf(
897 SHELLDETAILS
* psd
) = 0;
899 virtual HRESULT STDMETHODCALLTYPE
MapColumnToSCID(
901 SHCOLUMNID
* pscid
) = 0;
905 typedef struct IShellFolder2Vtbl IShellFolder2Vtbl
;
906 struct IShellFolder2
{
907 const IShellFolder2Vtbl
* lpVtbl
;
909 struct IShellFolder2Vtbl
{
910 ICOM_MSVTABLE_COMPAT_FIELDS
912 /*** IUnknown methods ***/
913 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
918 ULONG (STDMETHODCALLTYPE
*AddRef
)(
919 IShellFolder2
* This
);
921 ULONG (STDMETHODCALLTYPE
*Release
)(
922 IShellFolder2
* This
);
924 /*** IShellFolder methods ***/
925 HRESULT (STDMETHODCALLTYPE
*ParseDisplayName
)(
929 LPOLESTR lpszDisplayName
,
932 ULONG
* pdwAttributes
);
934 HRESULT (STDMETHODCALLTYPE
*EnumObjects
)(
938 IEnumIDList
** ppenumIDList
);
940 HRESULT (STDMETHODCALLTYPE
*BindToObject
)(
947 HRESULT (STDMETHODCALLTYPE
*BindToStorage
)(
954 HRESULT (STDMETHODCALLTYPE
*CompareIDs
)(
958 LPCITEMIDLIST pidl2
);
960 HRESULT (STDMETHODCALLTYPE
*CreateViewObject
)(
966 HRESULT (STDMETHODCALLTYPE
*GetAttributesOf
)(
969 LPCITEMIDLIST
* apidl
,
972 HRESULT (STDMETHODCALLTYPE
*GetUIObjectOf
)(
976 LPCITEMIDLIST
* apidl
,
981 HRESULT (STDMETHODCALLTYPE
*GetDisplayNameOf
)(
987 HRESULT (STDMETHODCALLTYPE
*SetNameOf
)(
993 LPITEMIDLIST
* ppidlOut
);
995 /*** IShellFolder2 methods ***/
996 HRESULT (STDMETHODCALLTYPE
*GetDefaultSearchGUID
)(
1000 HRESULT (STDMETHODCALLTYPE
*EnumSearches
)(
1001 IShellFolder2
* This
,
1002 IEnumExtraSearch
** ppenum
);
1004 HRESULT (STDMETHODCALLTYPE
*GetDefaultColumn
)(
1005 IShellFolder2
* This
,
1010 HRESULT (STDMETHODCALLTYPE
*GetDefaultColumnState
)(
1011 IShellFolder2
* This
,
1013 SHCOLSTATEF
* pcsFlags
);
1015 HRESULT (STDMETHODCALLTYPE
*GetDetailsEx
)(
1016 IShellFolder2
* This
,
1018 const SHCOLUMNID
* pscid
,
1021 HRESULT (STDMETHODCALLTYPE
*GetDetailsOf
)(
1022 IShellFolder2
* This
,
1027 HRESULT (STDMETHODCALLTYPE
*MapColumnToSCID
)(
1028 IShellFolder2
* This
,
1034 /*** IUnknown methods ***/
1035 #define IShellFolder2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1036 #define IShellFolder2_AddRef(p) (p)->lpVtbl->AddRef(p)
1037 #define IShellFolder2_Release(p) (p)->lpVtbl->Release(p)
1038 /*** IShellFolder methods ***/
1039 #define IShellFolder2_ParseDisplayName(p,a,b,c,d,e,f) (p)->lpVtbl->ParseDisplayName(p,a,b,c,d,e,f)
1040 #define IShellFolder2_EnumObjects(p,a,b,c) (p)->lpVtbl->EnumObjects(p,a,b,c)
1041 #define IShellFolder2_BindToObject(p,a,b,c,d) (p)->lpVtbl->BindToObject(p,a,b,c,d)
1042 #define IShellFolder2_BindToStorage(p,a,b,c,d) (p)->lpVtbl->BindToStorage(p,a,b,c,d)
1043 #define IShellFolder2_CompareIDs(p,a,b,c) (p)->lpVtbl->CompareIDs(p,a,b,c)
1044 #define IShellFolder2_CreateViewObject(p,a,b,c) (p)->lpVtbl->CreateViewObject(p,a,b,c)
1045 #define IShellFolder2_GetAttributesOf(p,a,b,c) (p)->lpVtbl->GetAttributesOf(p,a,b,c)
1046 #define IShellFolder2_GetUIObjectOf(p,a,b,c,d,e,f) (p)->lpVtbl->GetUIObjectOf(p,a,b,c,d,e,f)
1047 #define IShellFolder2_GetDisplayNameOf(p,a,b,c) (p)->lpVtbl->GetDisplayNameOf(p,a,b,c)
1048 #define IShellFolder2_SetNameOf(p,a,b,c,d,e) (p)->lpVtbl->SetNameOf(p,a,b,c,d,e)
1049 /*** IShellFolder2 methods ***/
1050 #define IShellFolder2_GetDefaultSearchGUID(p,a) (p)->lpVtbl->GetDefaultSearchGUID(p,a)
1051 #define IShellFolder2_EnumSearches(p,a) (p)->lpVtbl->EnumSearches(p,a)
1052 #define IShellFolder2_GetDefaultColumn(p,a,b,c) (p)->lpVtbl->GetDefaultColumn(p,a,b,c)
1053 #define IShellFolder2_GetDefaultColumnState(p,a,b) (p)->lpVtbl->GetDefaultColumnState(p,a,b)
1054 #define IShellFolder2_GetDetailsEx(p,a,b,c) (p)->lpVtbl->GetDetailsEx(p,a,b,c)
1055 #define IShellFolder2_GetDetailsOf(p,a,b,c) (p)->lpVtbl->GetDetailsOf(p,a,b,c)
1056 #define IShellFolder2_MapColumnToSCID(p,a,b) (p)->lpVtbl->MapColumnToSCID(p,a,b)
1060 #define IShellFolder2_METHODS \
1061 ICOM_MSVTABLE_COMPAT_FIELDS \
1062 /*** IUnknown methods ***/ \
1063 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1064 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1065 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1066 /*** IShellFolder methods ***/ \
1067 STDMETHOD_(HRESULT,ParseDisplayName)(THIS_ HWND hwndOwner, LPBC pbcReserved, LPOLESTR lpszDisplayName, ULONG* pchEaten, LPITEMIDLIST* ppidl, ULONG* pdwAttributes) PURE; \
1068 STDMETHOD_(HRESULT,EnumObjects)(THIS_ HWND hwndOwner, SHCONTF grfFlags, IEnumIDList** ppenumIDList) PURE; \
1069 STDMETHOD_(HRESULT,BindToObject)(THIS_ LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, void** ppvOut) PURE; \
1070 STDMETHOD_(HRESULT,BindToStorage)(THIS_ LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, void** ppvObj) PURE; \
1071 STDMETHOD_(HRESULT,CompareIDs)(THIS_ LPARAM lParam, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2) PURE; \
1072 STDMETHOD_(HRESULT,CreateViewObject)(THIS_ HWND hwndOwner, REFIID riid, void** ppvOut) PURE; \
1073 STDMETHOD_(HRESULT,GetAttributesOf)(THIS_ UINT cidl, LPCITEMIDLIST* apidl, SFGAOF* rgfInOut) PURE; \
1074 STDMETHOD_(HRESULT,GetUIObjectOf)(THIS_ HWND hwndOwner, UINT cidl, LPCITEMIDLIST* apidl, REFIID riid, UINT* prgfInOut, void** ppvOut) PURE; \
1075 STDMETHOD_(HRESULT,GetDisplayNameOf)(THIS_ LPCITEMIDLIST pidl, SHGDNF uFlags, STRRET* lpName) PURE; \
1076 STDMETHOD_(HRESULT,SetNameOf)(THIS_ HWND hwnd, LPCITEMIDLIST pidl, LPCOLESTR lpszName, SHGDNF uFlags, LPITEMIDLIST* ppidlOut) PURE; \
1077 /*** IShellFolder2 methods ***/ \
1078 STDMETHOD_(HRESULT,GetDefaultSearchGUID)(THIS_ GUID* lpguid) PURE; \
1079 STDMETHOD_(HRESULT,EnumSearches)(THIS_ IEnumExtraSearch** ppenum) PURE; \
1080 STDMETHOD_(HRESULT,GetDefaultColumn)(THIS_ DWORD dwReserved, ULONG* pSort, ULONG* pDisplay) PURE; \
1081 STDMETHOD_(HRESULT,GetDefaultColumnState)(THIS_ UINT iColumn, SHCOLSTATEF* pcsFlags) PURE; \
1082 STDMETHOD_(HRESULT,GetDetailsEx)(THIS_ LPCITEMIDLIST pidl, const SHCOLUMNID* pscid, VARIANT* pv) PURE; \
1083 STDMETHOD_(HRESULT,GetDetailsOf)(THIS_ LPCITEMIDLIST pidl, UINT iColumn, SHELLDETAILS* psd) PURE; \
1084 STDMETHOD_(HRESULT,MapColumnToSCID)(THIS_ UINT iColumn, SHCOLUMNID* pscid) PURE;
1086 HRESULT CALLBACK
IShellFolder2_GetDefaultSearchGUID_Proxy(
1087 IShellFolder2
* This
,
1089 void __RPC_STUB
IShellFolder2_GetDefaultSearchGUID_Stub(
1090 struct IRpcStubBuffer
* This
,
1091 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1092 PRPC_MESSAGE pRpcMessage
,
1093 DWORD
* pdwStubPhase
);
1094 HRESULT CALLBACK
IShellFolder2_EnumSearches_Proxy(
1095 IShellFolder2
* This
,
1096 IEnumExtraSearch
** ppenum
);
1097 void __RPC_STUB
IShellFolder2_EnumSearches_Stub(
1098 struct IRpcStubBuffer
* This
,
1099 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1100 PRPC_MESSAGE pRpcMessage
,
1101 DWORD
* pdwStubPhase
);
1102 HRESULT CALLBACK
IShellFolder2_GetDefaultColumn_Proxy(
1103 IShellFolder2
* This
,
1107 void __RPC_STUB
IShellFolder2_GetDefaultColumn_Stub(
1108 struct IRpcStubBuffer
* This
,
1109 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1110 PRPC_MESSAGE pRpcMessage
,
1111 DWORD
* pdwStubPhase
);
1112 HRESULT CALLBACK
IShellFolder2_GetDefaultColumnState_Proxy(
1113 IShellFolder2
* This
,
1115 SHCOLSTATEF
* pcsFlags
);
1116 void __RPC_STUB
IShellFolder2_GetDefaultColumnState_Stub(
1117 struct IRpcStubBuffer
* This
,
1118 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1119 PRPC_MESSAGE pRpcMessage
,
1120 DWORD
* pdwStubPhase
);
1121 HRESULT CALLBACK
IShellFolder2_GetDetailsEx_Proxy(
1122 IShellFolder2
* This
,
1124 const SHCOLUMNID
* pscid
,
1126 void __RPC_STUB
IShellFolder2_GetDetailsEx_Stub(
1127 struct IRpcStubBuffer
* This
,
1128 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1129 PRPC_MESSAGE pRpcMessage
,
1130 DWORD
* pdwStubPhase
);
1131 HRESULT CALLBACK
IShellFolder2_GetDetailsOf_Proxy(
1132 IShellFolder2
* This
,
1136 void __RPC_STUB
IShellFolder2_GetDetailsOf_Stub(
1137 struct IRpcStubBuffer
* This
,
1138 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1139 PRPC_MESSAGE pRpcMessage
,
1140 DWORD
* pdwStubPhase
);
1141 HRESULT CALLBACK
IShellFolder2_MapColumnToSCID_Proxy(
1142 IShellFolder2
* This
,
1145 void __RPC_STUB
IShellFolder2_MapColumnToSCID_Stub(
1146 struct IRpcStubBuffer
* This
,
1147 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1148 PRPC_MESSAGE pRpcMessage
,
1149 DWORD
* pdwStubPhase
);
1151 #endif /* __IShellFolder2_INTERFACE_DEFINED__ */
1153 typedef char *LPVIEWSETTINGS
;
1156 FWF_AUTOARRANGE
= 0x1,
1157 FWF_ABBREVIATEDNAMES
= 0x2,
1158 FWF_SNAPTOGRID
= 0x4,
1159 FWF_OWNERDATA
= 0x8,
1160 FWF_BESTFITWINDOW
= 0x10,
1162 FWF_SINGLESEL
= 0x40,
1163 FWF_NOSUBFOLDERS
= 0x80,
1164 FWF_TRANSPARENT
= 0x100,
1165 FWF_NOCLIENTEDGE
= 0x200,
1166 FWF_NOSCROLL
= 0x400,
1167 FWF_ALIGNLEFT
= 0x800,
1168 FWF_NOICONS
= 0x1000,
1169 FWF_SHOWSELALWAYS
= 0x2000,
1170 FWF_NOVISIBLE
= 0x4000,
1171 FWF_SINGLECLICKACTIVATE
= 0x8000,
1172 FWF_NOWEBVIEW
= 0x10000,
1173 FWF_HIDEFILENAMES
= 0x20000,
1174 FWF_CHECKSELECT
= 0x40000
1179 FVM_FIRST
= FVM_ICON
,
1186 FVM_LAST
= FVM_THUMBSTRIP
1192 } FOLDERSETTINGS
, *PFOLDERSETTINGS
, *LPFOLDERSETTINGS
;
1194 typedef const FOLDERSETTINGS
*LPCFOLDERSETTINGS
;
1196 #ifndef __IShellBrowser_FWD_DEFINED__
1197 #define __IShellBrowser_FWD_DEFINED__
1198 typedef struct IShellBrowser IShellBrowser
;
1201 #ifndef __IShellView_FWD_DEFINED__
1202 #define __IShellView_FWD_DEFINED__
1203 typedef struct IShellView IShellView
;
1206 typedef IShellView
*LPSHELLVIEW
;
1208 #define SVSI_DESELECT 0x00000000
1209 #define SVSI_SELECT 0x00000001
1210 #define SVSI_EDIT 0x00000003
1211 #define SVSI_DESELECTOTHERS 0x00000004
1212 #define SVSI_ENSUREVISIBLE 0x00000008
1213 #define SVSI_FOCUSED 0x00000010
1214 #define SVSI_TRANSLATEPT 0x00000020
1215 #define SVSI_SELECTIONMARK 0x00000040
1216 #define SVSI_POSITIONITEM 0x00000080
1217 #define SVSI_CHECK 0x00000100
1218 #define SVSI_NOSTATECHANGE 0x80000000
1222 SVGIO_BACKGROUND
= 0x0,
1223 SVGIO_SELECTION
= 0x1,
1224 SVGIO_ALLVIEW
= 0x2,
1225 SVGIO_CHECKED
= 0x3,
1226 SVGIO_TYPE_MASK
= 0xf,
1227 SVGIO_FLAG_VIEWORDER
= 0x80000000
1231 SVUIA_DEACTIVATE
= 0,
1232 SVUIA_ACTIVATE_NOFOCUS
= 1,
1233 SVUIA_ACTIVATE_FOCUS
= 2,
1234 SVUIA_INPLACEACTIVATE
= 3
1238 typedef LPARAM LPFNSVADDPROPSHEETPAGE
;
1242 typedef LPFNADDPROPSHEETPAGE LPFNSVADDPROPSHEETPAGE
;
1244 /*****************************************************************************
1245 * IShellView interface
1247 #ifndef __IShellView_INTERFACE_DEFINED__
1248 #define __IShellView_INTERFACE_DEFINED__
1250 DEFINE_GUID(IID_IShellView
, 0x000214e3, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1251 #if defined(__cplusplus) && !defined(CINTERFACE)
1252 struct IShellView
: public IOleWindow
1254 virtual HRESULT STDMETHODCALLTYPE
TranslateAccelerator(
1257 virtual HRESULT STDMETHODCALLTYPE
EnableModeless(
1260 virtual HRESULT STDMETHODCALLTYPE
UIActivate(
1263 virtual HRESULT STDMETHODCALLTYPE
Refresh(
1266 virtual HRESULT STDMETHODCALLTYPE
CreateViewWindow(
1267 IShellView
* psvPrevious
,
1268 LPCFOLDERSETTINGS lpfs
,
1273 virtual HRESULT STDMETHODCALLTYPE
DestroyViewWindow(
1276 virtual HRESULT STDMETHODCALLTYPE
GetCurrentInfo(
1277 LPFOLDERSETTINGS lpfs
) = 0;
1279 virtual HRESULT STDMETHODCALLTYPE
AddPropertySheetPages(
1281 LPFNSVADDPROPSHEETPAGE pfn
,
1284 virtual HRESULT STDMETHODCALLTYPE
SaveViewState(
1287 virtual HRESULT STDMETHODCALLTYPE
SelectItem(
1288 LPCITEMIDLIST pidlItem
,
1291 virtual HRESULT STDMETHODCALLTYPE
GetItemObject(
1298 typedef struct IShellViewVtbl IShellViewVtbl
;
1300 const IShellViewVtbl
* lpVtbl
;
1302 struct IShellViewVtbl
{
1303 ICOM_MSVTABLE_COMPAT_FIELDS
1305 /*** IUnknown methods ***/
1306 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
1311 ULONG (STDMETHODCALLTYPE
*AddRef
)(
1314 ULONG (STDMETHODCALLTYPE
*Release
)(
1317 /*** IOleWindow methods ***/
1318 HRESULT (STDMETHODCALLTYPE
*GetWindow
)(
1322 HRESULT (STDMETHODCALLTYPE
*ContextSensitiveHelp
)(
1326 /*** IShellView methods ***/
1327 HRESULT (STDMETHODCALLTYPE
*TranslateAccelerator
)(
1331 HRESULT (STDMETHODCALLTYPE
*EnableModeless
)(
1335 HRESULT (STDMETHODCALLTYPE
*UIActivate
)(
1339 HRESULT (STDMETHODCALLTYPE
*Refresh
)(
1342 HRESULT (STDMETHODCALLTYPE
*CreateViewWindow
)(
1344 IShellView
* psvPrevious
,
1345 LPCFOLDERSETTINGS lpfs
,
1350 HRESULT (STDMETHODCALLTYPE
*DestroyViewWindow
)(
1353 HRESULT (STDMETHODCALLTYPE
*GetCurrentInfo
)(
1355 LPFOLDERSETTINGS lpfs
);
1357 HRESULT (STDMETHODCALLTYPE
*AddPropertySheetPages
)(
1360 LPFNSVADDPROPSHEETPAGE pfn
,
1363 HRESULT (STDMETHODCALLTYPE
*SaveViewState
)(
1366 HRESULT (STDMETHODCALLTYPE
*SelectItem
)(
1368 LPCITEMIDLIST pidlItem
,
1371 HRESULT (STDMETHODCALLTYPE
*GetItemObject
)(
1379 /*** IUnknown methods ***/
1380 #define IShellView_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1381 #define IShellView_AddRef(p) (p)->lpVtbl->AddRef(p)
1382 #define IShellView_Release(p) (p)->lpVtbl->Release(p)
1383 /*** IOleWindow methods ***/
1384 #define IShellView_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
1385 #define IShellView_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
1386 /*** IShellView methods ***/
1387 #define IShellView_TranslateAccelerator(p,a) (p)->lpVtbl->TranslateAccelerator(p,a)
1388 #define IShellView_EnableModeless(p,a) (p)->lpVtbl->EnableModeless(p,a)
1389 #define IShellView_UIActivate(p,a) (p)->lpVtbl->UIActivate(p,a)
1390 #define IShellView_Refresh(p) (p)->lpVtbl->Refresh(p)
1391 #define IShellView_CreateViewWindow(p,a,b,c,d,e) (p)->lpVtbl->CreateViewWindow(p,a,b,c,d,e)
1392 #define IShellView_DestroyViewWindow(p) (p)->lpVtbl->DestroyViewWindow(p)
1393 #define IShellView_GetCurrentInfo(p,a) (p)->lpVtbl->GetCurrentInfo(p,a)
1394 #define IShellView_AddPropertySheetPages(p,a,b,c) (p)->lpVtbl->AddPropertySheetPages(p,a,b,c)
1395 #define IShellView_SaveViewState(p) (p)->lpVtbl->SaveViewState(p)
1396 #define IShellView_SelectItem(p,a,b) (p)->lpVtbl->SelectItem(p,a,b)
1397 #define IShellView_GetItemObject(p,a,b,c) (p)->lpVtbl->GetItemObject(p,a,b,c)
1401 #define IShellView_METHODS \
1402 ICOM_MSVTABLE_COMPAT_FIELDS \
1403 /*** IUnknown methods ***/ \
1404 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1405 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1406 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1407 /*** IOleWindow methods ***/ \
1408 STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND* phwnd) PURE; \
1409 STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE; \
1410 /*** IShellView methods ***/ \
1411 STDMETHOD_(HRESULT,TranslateAccelerator)(THIS_ MSG* pmsg) PURE; \
1412 STDMETHOD_(HRESULT,EnableModeless)(THIS_ BOOL fEnable) PURE; \
1413 STDMETHOD_(HRESULT,UIActivate)(THIS_ UINT uState) PURE; \
1414 STDMETHOD_(HRESULT,Refresh)(THIS) PURE; \
1415 STDMETHOD_(HRESULT,CreateViewWindow)(THIS_ IShellView* psvPrevious, LPCFOLDERSETTINGS lpfs, IShellBrowser* psb, RECT* prcView, HWND* phWnd) PURE; \
1416 STDMETHOD_(HRESULT,DestroyViewWindow)(THIS) PURE; \
1417 STDMETHOD_(HRESULT,GetCurrentInfo)(THIS_ LPFOLDERSETTINGS lpfs) PURE; \
1418 STDMETHOD_(HRESULT,AddPropertySheetPages)(THIS_ DWORD dwReserved, LPFNSVADDPROPSHEETPAGE pfn, LPARAM lparam) PURE; \
1419 STDMETHOD_(HRESULT,SaveViewState)(THIS) PURE; \
1420 STDMETHOD_(HRESULT,SelectItem)(THIS_ LPCITEMIDLIST pidlItem, SVSIF uFlags) PURE; \
1421 STDMETHOD_(HRESULT,GetItemObject)(THIS_ UINT uItem, REFIID riid, void** ppv) PURE;
1423 HRESULT CALLBACK
IShellView_TranslateAccelerator_Proxy(
1426 void __RPC_STUB
IShellView_TranslateAccelerator_Stub(
1427 struct IRpcStubBuffer
* This
,
1428 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1429 PRPC_MESSAGE pRpcMessage
,
1430 DWORD
* pdwStubPhase
);
1431 HRESULT CALLBACK
IShellView_EnableModeless_Proxy(
1434 void __RPC_STUB
IShellView_EnableModeless_Stub(
1435 struct IRpcStubBuffer
* This
,
1436 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1437 PRPC_MESSAGE pRpcMessage
,
1438 DWORD
* pdwStubPhase
);
1439 HRESULT CALLBACK
IShellView_UIActivate_Proxy(
1442 void __RPC_STUB
IShellView_UIActivate_Stub(
1443 struct IRpcStubBuffer
* This
,
1444 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1445 PRPC_MESSAGE pRpcMessage
,
1446 DWORD
* pdwStubPhase
);
1447 HRESULT CALLBACK
IShellView_Refresh_Proxy(
1449 void __RPC_STUB
IShellView_Refresh_Stub(
1450 struct IRpcStubBuffer
* This
,
1451 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1452 PRPC_MESSAGE pRpcMessage
,
1453 DWORD
* pdwStubPhase
);
1454 HRESULT CALLBACK
IShellView_CreateViewWindow_Proxy(
1456 IShellView
* psvPrevious
,
1457 LPCFOLDERSETTINGS lpfs
,
1461 void __RPC_STUB
IShellView_CreateViewWindow_Stub(
1462 struct IRpcStubBuffer
* This
,
1463 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1464 PRPC_MESSAGE pRpcMessage
,
1465 DWORD
* pdwStubPhase
);
1466 HRESULT CALLBACK
IShellView_DestroyViewWindow_Proxy(
1468 void __RPC_STUB
IShellView_DestroyViewWindow_Stub(
1469 struct IRpcStubBuffer
* This
,
1470 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1471 PRPC_MESSAGE pRpcMessage
,
1472 DWORD
* pdwStubPhase
);
1473 HRESULT CALLBACK
IShellView_GetCurrentInfo_Proxy(
1475 LPFOLDERSETTINGS lpfs
);
1476 void __RPC_STUB
IShellView_GetCurrentInfo_Stub(
1477 struct IRpcStubBuffer
* This
,
1478 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1479 PRPC_MESSAGE pRpcMessage
,
1480 DWORD
* pdwStubPhase
);
1481 HRESULT CALLBACK
IShellView_SaveViewState_Proxy(
1483 void __RPC_STUB
IShellView_SaveViewState_Stub(
1484 struct IRpcStubBuffer
* This
,
1485 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1486 PRPC_MESSAGE pRpcMessage
,
1487 DWORD
* pdwStubPhase
);
1488 HRESULT CALLBACK
IShellView_SelectItem_Proxy(
1490 LPCITEMIDLIST pidlItem
,
1492 void __RPC_STUB
IShellView_SelectItem_Stub(
1493 struct IRpcStubBuffer
* This
,
1494 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1495 PRPC_MESSAGE pRpcMessage
,
1496 DWORD
* pdwStubPhase
);
1497 HRESULT CALLBACK
IShellView_GetItemObject_Proxy(
1502 void __RPC_STUB
IShellView_GetItemObject_Stub(
1503 struct IRpcStubBuffer
* This
,
1504 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1505 PRPC_MESSAGE pRpcMessage
,
1506 DWORD
* pdwStubPhase
);
1508 #endif /* __IShellView_INTERFACE_DEFINED__ */
1510 typedef IShellBrowser
*LPSHELLBROWSER
;
1512 #define SBSP_DEFBROWSER 0x00000000
1513 #define SBSP_SAMEBROWSER 0x00000001
1514 #define SBSP_NEWBROWSER 0x00000002
1515 #define SBSP_DEFMODE 0x00000000
1516 #define SBSP_OPENMODE 0x00000010
1517 #define SBSP_EXPLOREMODE 0x00000020
1518 #define SBSP_HELPMODE 0x00000040
1519 #define SBSP_NOTRANSFERHIST 0x00000080
1520 #define SBSP_ABSOLUTE 0x00000000
1521 #define SBSP_RELATIVE 0x00001000
1522 #define SBSP_PARENT 0x00002000
1523 #define SBSP_NAVIGATEBACK 0x00004000
1524 #define SBSP_NAVIGATEFORWARD 0x00008000
1525 #define SBSP_ALLOW_AUTONAVIGATE 0x00010000
1526 #define SBSP_NOAUTOSELECT 0x04000000
1527 #define SBSP_WRITENOHISTORY 0x08000000
1528 #define SBSP_REDIRECT 0x40000000
1529 #define SBSP_INITIATEDBYHLINKFRAME 0x80000000
1530 #define FCW_STATUS 0x0001
1531 #define FCW_TOOLBAR 0x0002
1532 #define FCW_TREE 0x0003
1533 #define FCW_INTERNETBAR 0x0006
1534 #define FCW_PROGRESS 0x0008
1535 #define FCT_MERGE 0x0001
1536 #define FCT_CONFIGABLE 0x0002
1537 #define FCT_ADDTOEND 0x0004
1539 typedef LPARAM LPTBBUTTONSB
;
1542 #include <commctrl.h>
1543 typedef LPTBBUTTON LPTBBUTTONSB
;
1545 /*****************************************************************************
1546 * IShellBrowser interface
1548 #ifndef __IShellBrowser_INTERFACE_DEFINED__
1549 #define __IShellBrowser_INTERFACE_DEFINED__
1551 DEFINE_GUID(IID_IShellBrowser
, 0x000214e2, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1552 #if defined(__cplusplus) && !defined(CINTERFACE)
1553 struct IShellBrowser
: public IOleWindow
1555 virtual HRESULT STDMETHODCALLTYPE
InsertMenusSB(
1557 LPOLEMENUGROUPWIDTHS lpMenuWidths
) = 0;
1559 virtual HRESULT STDMETHODCALLTYPE
SetMenuSB(
1561 HOLEMENU holemenuReserved
,
1562 HWND hwndActiveObject
) = 0;
1564 virtual HRESULT STDMETHODCALLTYPE
RemoveMenusSB(
1565 HMENU hmenuShared
) = 0;
1567 virtual HRESULT STDMETHODCALLTYPE
SetStatusTextSB(
1568 LPCOLESTR pszStatusText
) = 0;
1570 virtual HRESULT STDMETHODCALLTYPE
EnableModelessSB(
1573 virtual HRESULT STDMETHODCALLTYPE
TranslateAcceleratorSB(
1577 virtual HRESULT STDMETHODCALLTYPE
BrowseObject(
1581 virtual HRESULT STDMETHODCALLTYPE
GetViewStateStream(
1583 IStream
** ppStrm
) = 0;
1585 virtual HRESULT STDMETHODCALLTYPE
GetControlWindow(
1589 virtual HRESULT STDMETHODCALLTYPE
SendControlMsg(
1596 virtual HRESULT STDMETHODCALLTYPE
QueryActiveShellView(
1597 IShellView
** ppshv
) = 0;
1599 virtual HRESULT STDMETHODCALLTYPE
OnViewWindowActive(
1600 IShellView
* pshv
) = 0;
1602 virtual HRESULT STDMETHODCALLTYPE
SetToolbarItems(
1603 LPTBBUTTONSB lpButtons
,
1609 typedef struct IShellBrowserVtbl IShellBrowserVtbl
;
1610 struct IShellBrowser
{
1611 const IShellBrowserVtbl
* lpVtbl
;
1613 struct IShellBrowserVtbl
{
1614 ICOM_MSVTABLE_COMPAT_FIELDS
1616 /*** IUnknown methods ***/
1617 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
1618 IShellBrowser
* This
,
1622 ULONG (STDMETHODCALLTYPE
*AddRef
)(
1623 IShellBrowser
* This
);
1625 ULONG (STDMETHODCALLTYPE
*Release
)(
1626 IShellBrowser
* This
);
1628 /*** IOleWindow methods ***/
1629 HRESULT (STDMETHODCALLTYPE
*GetWindow
)(
1630 IShellBrowser
* This
,
1633 HRESULT (STDMETHODCALLTYPE
*ContextSensitiveHelp
)(
1634 IShellBrowser
* This
,
1637 /*** IShellBrowser methods ***/
1638 HRESULT (STDMETHODCALLTYPE
*InsertMenusSB
)(
1639 IShellBrowser
* This
,
1641 LPOLEMENUGROUPWIDTHS lpMenuWidths
);
1643 HRESULT (STDMETHODCALLTYPE
*SetMenuSB
)(
1644 IShellBrowser
* This
,
1646 HOLEMENU holemenuReserved
,
1647 HWND hwndActiveObject
);
1649 HRESULT (STDMETHODCALLTYPE
*RemoveMenusSB
)(
1650 IShellBrowser
* This
,
1653 HRESULT (STDMETHODCALLTYPE
*SetStatusTextSB
)(
1654 IShellBrowser
* This
,
1655 LPCOLESTR pszStatusText
);
1657 HRESULT (STDMETHODCALLTYPE
*EnableModelessSB
)(
1658 IShellBrowser
* This
,
1661 HRESULT (STDMETHODCALLTYPE
*TranslateAcceleratorSB
)(
1662 IShellBrowser
* This
,
1666 HRESULT (STDMETHODCALLTYPE
*BrowseObject
)(
1667 IShellBrowser
* This
,
1671 HRESULT (STDMETHODCALLTYPE
*GetViewStateStream
)(
1672 IShellBrowser
* This
,
1676 HRESULT (STDMETHODCALLTYPE
*GetControlWindow
)(
1677 IShellBrowser
* This
,
1681 HRESULT (STDMETHODCALLTYPE
*SendControlMsg
)(
1682 IShellBrowser
* This
,
1689 HRESULT (STDMETHODCALLTYPE
*QueryActiveShellView
)(
1690 IShellBrowser
* This
,
1691 IShellView
** ppshv
);
1693 HRESULT (STDMETHODCALLTYPE
*OnViewWindowActive
)(
1694 IShellBrowser
* This
,
1697 HRESULT (STDMETHODCALLTYPE
*SetToolbarItems
)(
1698 IShellBrowser
* This
,
1699 LPTBBUTTONSB lpButtons
,
1705 /*** IUnknown methods ***/
1706 #define IShellBrowser_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1707 #define IShellBrowser_AddRef(p) (p)->lpVtbl->AddRef(p)
1708 #define IShellBrowser_Release(p) (p)->lpVtbl->Release(p)
1709 /*** IOleWindow methods ***/
1710 #define IShellBrowser_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
1711 #define IShellBrowser_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
1712 /*** IShellBrowser methods ***/
1713 #define IShellBrowser_InsertMenusSB(p,a,b) (p)->lpVtbl->InsertMenusSB(p,a,b)
1714 #define IShellBrowser_SetMenuSB(p,a,b,c) (p)->lpVtbl->SetMenuSB(p,a,b,c)
1715 #define IShellBrowser_RemoveMenusSB(p,a) (p)->lpVtbl->RemoveMenusSB(p,a)
1716 #define IShellBrowser_SetStatusTextSB(p,a) (p)->lpVtbl->SetStatusTextSB(p,a)
1717 #define IShellBrowser_EnableModelessSB(p,a) (p)->lpVtbl->EnableModelessSB(p,a)
1718 #define IShellBrowser_TranslateAcceleratorSB(p,a,b) (p)->lpVtbl->TranslateAcceleratorSB(p,a,b)
1719 #define IShellBrowser_BrowseObject(p,a,b) (p)->lpVtbl->BrowseObject(p,a,b)
1720 #define IShellBrowser_GetViewStateStream(p,a,b) (p)->lpVtbl->GetViewStateStream(p,a,b)
1721 #define IShellBrowser_GetControlWindow(p,a,b) (p)->lpVtbl->GetControlWindow(p,a,b)
1722 #define IShellBrowser_SendControlMsg(p,a,b,c,d,e) (p)->lpVtbl->SendControlMsg(p,a,b,c,d,e)
1723 #define IShellBrowser_QueryActiveShellView(p,a) (p)->lpVtbl->QueryActiveShellView(p,a)
1724 #define IShellBrowser_OnViewWindowActive(p,a) (p)->lpVtbl->OnViewWindowActive(p,a)
1725 #define IShellBrowser_SetToolbarItems(p,a,b,c) (p)->lpVtbl->SetToolbarItems(p,a,b,c)
1729 #define IShellBrowser_METHODS \
1730 ICOM_MSVTABLE_COMPAT_FIELDS \
1731 /*** IUnknown methods ***/ \
1732 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1733 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1734 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1735 /*** IOleWindow methods ***/ \
1736 STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND* phwnd) PURE; \
1737 STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE; \
1738 /*** IShellBrowser methods ***/ \
1739 STDMETHOD_(HRESULT,InsertMenusSB)(THIS_ HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths) PURE; \
1740 STDMETHOD_(HRESULT,SetMenuSB)(THIS_ HMENU hmenuShared, HOLEMENU holemenuReserved, HWND hwndActiveObject) PURE; \
1741 STDMETHOD_(HRESULT,RemoveMenusSB)(THIS_ HMENU hmenuShared) PURE; \
1742 STDMETHOD_(HRESULT,SetStatusTextSB)(THIS_ LPCOLESTR pszStatusText) PURE; \
1743 STDMETHOD_(HRESULT,EnableModelessSB)(THIS_ BOOL fEnable) PURE; \
1744 STDMETHOD_(HRESULT,TranslateAcceleratorSB)(THIS_ MSG* pmsg, WORD wID) PURE; \
1745 STDMETHOD_(HRESULT,BrowseObject)(THIS_ LPCITEMIDLIST pidl, UINT wFlags) PURE; \
1746 STDMETHOD_(HRESULT,GetViewStateStream)(THIS_ DWORD grfMode, IStream** ppStrm) PURE; \
1747 STDMETHOD_(HRESULT,GetControlWindow)(THIS_ UINT id, HWND* phwnd) PURE; \
1748 STDMETHOD_(HRESULT,SendControlMsg)(THIS_ UINT id, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT* pret) PURE; \
1749 STDMETHOD_(HRESULT,QueryActiveShellView)(THIS_ IShellView** ppshv) PURE; \
1750 STDMETHOD_(HRESULT,OnViewWindowActive)(THIS_ IShellView* pshv) PURE; \
1751 STDMETHOD_(HRESULT,SetToolbarItems)(THIS_ LPTBBUTTONSB lpButtons, UINT nButtons, UINT uFlags) PURE;
1753 HRESULT CALLBACK
IShellBrowser_InsertMenusSB_Proxy(
1754 IShellBrowser
* This
,
1756 LPOLEMENUGROUPWIDTHS lpMenuWidths
);
1757 void __RPC_STUB
IShellBrowser_InsertMenusSB_Stub(
1758 struct IRpcStubBuffer
* This
,
1759 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1760 PRPC_MESSAGE pRpcMessage
,
1761 DWORD
* pdwStubPhase
);
1762 HRESULT CALLBACK
IShellBrowser_SetMenuSB_Proxy(
1763 IShellBrowser
* This
,
1765 HOLEMENU holemenuReserved
,
1766 HWND hwndActiveObject
);
1767 void __RPC_STUB
IShellBrowser_SetMenuSB_Stub(
1768 struct IRpcStubBuffer
* This
,
1769 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1770 PRPC_MESSAGE pRpcMessage
,
1771 DWORD
* pdwStubPhase
);
1772 HRESULT CALLBACK
IShellBrowser_RemoveMenusSB_Proxy(
1773 IShellBrowser
* This
,
1775 void __RPC_STUB
IShellBrowser_RemoveMenusSB_Stub(
1776 struct IRpcStubBuffer
* This
,
1777 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1778 PRPC_MESSAGE pRpcMessage
,
1779 DWORD
* pdwStubPhase
);
1780 HRESULT CALLBACK
IShellBrowser_SetStatusTextSB_Proxy(
1781 IShellBrowser
* This
,
1782 LPCOLESTR pszStatusText
);
1783 void __RPC_STUB
IShellBrowser_SetStatusTextSB_Stub(
1784 struct IRpcStubBuffer
* This
,
1785 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1786 PRPC_MESSAGE pRpcMessage
,
1787 DWORD
* pdwStubPhase
);
1788 HRESULT CALLBACK
IShellBrowser_EnableModelessSB_Proxy(
1789 IShellBrowser
* This
,
1791 void __RPC_STUB
IShellBrowser_EnableModelessSB_Stub(
1792 struct IRpcStubBuffer
* This
,
1793 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1794 PRPC_MESSAGE pRpcMessage
,
1795 DWORD
* pdwStubPhase
);
1796 HRESULT CALLBACK
IShellBrowser_TranslateAcceleratorSB_Proxy(
1797 IShellBrowser
* This
,
1800 void __RPC_STUB
IShellBrowser_TranslateAcceleratorSB_Stub(
1801 struct IRpcStubBuffer
* This
,
1802 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1803 PRPC_MESSAGE pRpcMessage
,
1804 DWORD
* pdwStubPhase
);
1805 HRESULT CALLBACK
IShellBrowser_BrowseObject_Proxy(
1806 IShellBrowser
* This
,
1809 void __RPC_STUB
IShellBrowser_BrowseObject_Stub(
1810 struct IRpcStubBuffer
* This
,
1811 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1812 PRPC_MESSAGE pRpcMessage
,
1813 DWORD
* pdwStubPhase
);
1814 HRESULT CALLBACK
IShellBrowser_GetViewStateStream_Proxy(
1815 IShellBrowser
* This
,
1818 void __RPC_STUB
IShellBrowser_GetViewStateStream_Stub(
1819 struct IRpcStubBuffer
* This
,
1820 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1821 PRPC_MESSAGE pRpcMessage
,
1822 DWORD
* pdwStubPhase
);
1823 HRESULT CALLBACK
IShellBrowser_GetControlWindow_Proxy(
1824 IShellBrowser
* This
,
1827 void __RPC_STUB
IShellBrowser_GetControlWindow_Stub(
1828 struct IRpcStubBuffer
* This
,
1829 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1830 PRPC_MESSAGE pRpcMessage
,
1831 DWORD
* pdwStubPhase
);
1832 HRESULT CALLBACK
IShellBrowser_QueryActiveShellView_Proxy(
1833 IShellBrowser
* This
,
1834 IShellView
** ppshv
);
1835 void __RPC_STUB
IShellBrowser_QueryActiveShellView_Stub(
1836 struct IRpcStubBuffer
* This
,
1837 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1838 PRPC_MESSAGE pRpcMessage
,
1839 DWORD
* pdwStubPhase
);
1840 HRESULT CALLBACK
IShellBrowser_OnViewWindowActive_Proxy(
1841 IShellBrowser
* This
,
1843 void __RPC_STUB
IShellBrowser_OnViewWindowActive_Stub(
1844 struct IRpcStubBuffer
* This
,
1845 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1846 PRPC_MESSAGE pRpcMessage
,
1847 DWORD
* pdwStubPhase
);
1849 #endif /* __IShellBrowser_INTERFACE_DEFINED__ */
1851 #ifndef __IShellLinkA_FWD_DEFINED__
1852 #define __IShellLinkA_FWD_DEFINED__
1853 typedef struct IShellLinkA IShellLinkA
;
1858 SLR_ANY_MATCH
= 0x2,
1861 SLR_NOSEARCH
= 0x10,
1863 SLR_NOLINKINFO
= 0x40,
1864 SLR_INVOKE_MSI
= 0x80,
1865 SLR_NO_UI_WITH_MSG_PUMP
= 0x101
1869 SLGP_SHORTPATH
= 0x1,
1870 SLGP_UNCPRIORITY
= 0x2,
1874 /*****************************************************************************
1875 * IShellLinkA interface
1877 #ifndef __IShellLinkA_INTERFACE_DEFINED__
1878 #define __IShellLinkA_INTERFACE_DEFINED__
1880 DEFINE_GUID(IID_IShellLinkA
, 0x000214ee, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1881 #if defined(__cplusplus) && !defined(CINTERFACE)
1882 struct IShellLinkA
: public IUnknown
1884 virtual HRESULT STDMETHODCALLTYPE
GetPath(
1887 WIN32_FIND_DATAA
* pfd
,
1890 virtual HRESULT STDMETHODCALLTYPE
GetIDList(
1891 LPITEMIDLIST
* ppidl
) = 0;
1893 virtual HRESULT STDMETHODCALLTYPE
SetIDList(
1894 LPCITEMIDLIST pidl
) = 0;
1896 virtual HRESULT STDMETHODCALLTYPE
GetDescription(
1900 virtual HRESULT STDMETHODCALLTYPE
SetDescription(
1901 LPCSTR pszName
) = 0;
1903 virtual HRESULT STDMETHODCALLTYPE
GetWorkingDirectory(
1907 virtual HRESULT STDMETHODCALLTYPE
SetWorkingDirectory(
1910 virtual HRESULT STDMETHODCALLTYPE
GetArguments(
1914 virtual HRESULT STDMETHODCALLTYPE
SetArguments(
1915 LPCSTR pszArgs
) = 0;
1917 virtual HRESULT STDMETHODCALLTYPE
GetHotkey(
1918 WORD
* pwHotkey
) = 0;
1920 virtual HRESULT STDMETHODCALLTYPE
SetHotkey(
1923 virtual HRESULT STDMETHODCALLTYPE
GetShowCmd(
1924 int* piShowCmd
) = 0;
1926 virtual HRESULT STDMETHODCALLTYPE
SetShowCmd(
1929 virtual HRESULT STDMETHODCALLTYPE
GetIconLocation(
1934 virtual HRESULT STDMETHODCALLTYPE
SetIconLocation(
1938 virtual HRESULT STDMETHODCALLTYPE
SetRelativePath(
1940 DWORD dwReserved
) = 0;
1942 virtual HRESULT STDMETHODCALLTYPE
Resolve(
1946 virtual HRESULT STDMETHODCALLTYPE
SetPath(
1947 LPCSTR pszFile
) = 0;
1951 typedef struct IShellLinkAVtbl IShellLinkAVtbl
;
1952 struct IShellLinkA
{
1953 const IShellLinkAVtbl
* lpVtbl
;
1955 struct IShellLinkAVtbl
{
1956 ICOM_MSVTABLE_COMPAT_FIELDS
1958 /*** IUnknown methods ***/
1959 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
1964 ULONG (STDMETHODCALLTYPE
*AddRef
)(
1967 ULONG (STDMETHODCALLTYPE
*Release
)(
1970 /*** IShellLinkA methods ***/
1971 HRESULT (STDMETHODCALLTYPE
*GetPath
)(
1975 WIN32_FIND_DATAA
* pfd
,
1978 HRESULT (STDMETHODCALLTYPE
*GetIDList
)(
1980 LPITEMIDLIST
* ppidl
);
1982 HRESULT (STDMETHODCALLTYPE
*SetIDList
)(
1984 LPCITEMIDLIST pidl
);
1986 HRESULT (STDMETHODCALLTYPE
*GetDescription
)(
1991 HRESULT (STDMETHODCALLTYPE
*SetDescription
)(
1995 HRESULT (STDMETHODCALLTYPE
*GetWorkingDirectory
)(
2000 HRESULT (STDMETHODCALLTYPE
*SetWorkingDirectory
)(
2004 HRESULT (STDMETHODCALLTYPE
*GetArguments
)(
2009 HRESULT (STDMETHODCALLTYPE
*SetArguments
)(
2013 HRESULT (STDMETHODCALLTYPE
*GetHotkey
)(
2017 HRESULT (STDMETHODCALLTYPE
*SetHotkey
)(
2021 HRESULT (STDMETHODCALLTYPE
*GetShowCmd
)(
2025 HRESULT (STDMETHODCALLTYPE
*SetShowCmd
)(
2029 HRESULT (STDMETHODCALLTYPE
*GetIconLocation
)(
2035 HRESULT (STDMETHODCALLTYPE
*SetIconLocation
)(
2040 HRESULT (STDMETHODCALLTYPE
*SetRelativePath
)(
2045 HRESULT (STDMETHODCALLTYPE
*Resolve
)(
2050 HRESULT (STDMETHODCALLTYPE
*SetPath
)(
2056 /*** IUnknown methods ***/
2057 #define IShellLinkA_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2058 #define IShellLinkA_AddRef(p) (p)->lpVtbl->AddRef(p)
2059 #define IShellLinkA_Release(p) (p)->lpVtbl->Release(p)
2060 /*** IShellLinkA methods ***/
2061 #define IShellLinkA_GetPath(p,a,b,c,d) (p)->lpVtbl->GetPath(p,a,b,c,d)
2062 #define IShellLinkA_GetIDList(p,a) (p)->lpVtbl->GetIDList(p,a)
2063 #define IShellLinkA_SetIDList(p,a) (p)->lpVtbl->SetIDList(p,a)
2064 #define IShellLinkA_GetDescription(p,a,b) (p)->lpVtbl->GetDescription(p,a,b)
2065 #define IShellLinkA_SetDescription(p,a) (p)->lpVtbl->SetDescription(p,a)
2066 #define IShellLinkA_GetWorkingDirectory(p,a,b) (p)->lpVtbl->GetWorkingDirectory(p,a,b)
2067 #define IShellLinkA_SetWorkingDirectory(p,a) (p)->lpVtbl->SetWorkingDirectory(p,a)
2068 #define IShellLinkA_GetArguments(p,a,b) (p)->lpVtbl->GetArguments(p,a,b)
2069 #define IShellLinkA_SetArguments(p,a) (p)->lpVtbl->SetArguments(p,a)
2070 #define IShellLinkA_GetHotkey(p,a) (p)->lpVtbl->GetHotkey(p,a)
2071 #define IShellLinkA_SetHotkey(p,a) (p)->lpVtbl->SetHotkey(p,a)
2072 #define IShellLinkA_GetShowCmd(p,a) (p)->lpVtbl->GetShowCmd(p,a)
2073 #define IShellLinkA_SetShowCmd(p,a) (p)->lpVtbl->SetShowCmd(p,a)
2074 #define IShellLinkA_GetIconLocation(p,a,b,c) (p)->lpVtbl->GetIconLocation(p,a,b,c)
2075 #define IShellLinkA_SetIconLocation(p,a,b) (p)->lpVtbl->SetIconLocation(p,a,b)
2076 #define IShellLinkA_SetRelativePath(p,a,b) (p)->lpVtbl->SetRelativePath(p,a,b)
2077 #define IShellLinkA_Resolve(p,a,b) (p)->lpVtbl->Resolve(p,a,b)
2078 #define IShellLinkA_SetPath(p,a) (p)->lpVtbl->SetPath(p,a)
2082 #define IShellLinkA_METHODS \
2083 ICOM_MSVTABLE_COMPAT_FIELDS \
2084 /*** IUnknown methods ***/ \
2085 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2086 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2087 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2088 /*** IShellLinkA methods ***/ \
2089 STDMETHOD_(HRESULT,GetPath)(THIS_ LPSTR pszFile, int cch, WIN32_FIND_DATAA* pfd, DWORD fFlags) PURE; \
2090 STDMETHOD_(HRESULT,GetIDList)(THIS_ LPITEMIDLIST* ppidl) PURE; \
2091 STDMETHOD_(HRESULT,SetIDList)(THIS_ LPCITEMIDLIST pidl) PURE; \
2092 STDMETHOD_(HRESULT,GetDescription)(THIS_ LPSTR pszName, int cch) PURE; \
2093 STDMETHOD_(HRESULT,SetDescription)(THIS_ LPCSTR pszName) PURE; \
2094 STDMETHOD_(HRESULT,GetWorkingDirectory)(THIS_ LPSTR pszDir, int cch) PURE; \
2095 STDMETHOD_(HRESULT,SetWorkingDirectory)(THIS_ LPCSTR pszDir) PURE; \
2096 STDMETHOD_(HRESULT,GetArguments)(THIS_ LPSTR pszArgs, int cch) PURE; \
2097 STDMETHOD_(HRESULT,SetArguments)(THIS_ LPCSTR pszArgs) PURE; \
2098 STDMETHOD_(HRESULT,GetHotkey)(THIS_ WORD* pwHotkey) PURE; \
2099 STDMETHOD_(HRESULT,SetHotkey)(THIS_ WORD wHotkey) PURE; \
2100 STDMETHOD_(HRESULT,GetShowCmd)(THIS_ int* piShowCmd) PURE; \
2101 STDMETHOD_(HRESULT,SetShowCmd)(THIS_ int iShowCmd) PURE; \
2102 STDMETHOD_(HRESULT,GetIconLocation)(THIS_ LPSTR pszIconPath, int cch, int* piIcon) PURE; \
2103 STDMETHOD_(HRESULT,SetIconLocation)(THIS_ LPCSTR pszIconPath, int iIcon) PURE; \
2104 STDMETHOD_(HRESULT,SetRelativePath)(THIS_ LPCSTR pszPathRel, DWORD dwReserved) PURE; \
2105 STDMETHOD_(HRESULT,Resolve)(THIS_ HWND hwnd, DWORD fFlags) PURE; \
2106 STDMETHOD_(HRESULT,SetPath)(THIS_ LPCSTR pszFile) PURE;
2108 HRESULT CALLBACK
IShellLinkA_GetPath_Proxy(
2112 WIN32_FIND_DATAA
* pfd
,
2114 void __RPC_STUB
IShellLinkA_GetPath_Stub(
2115 struct IRpcStubBuffer
* This
,
2116 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2117 PRPC_MESSAGE pRpcMessage
,
2118 DWORD
* pdwStubPhase
);
2119 HRESULT CALLBACK
IShellLinkA_GetIDList_Proxy(
2121 LPITEMIDLIST
* ppidl
);
2122 void __RPC_STUB
IShellLinkA_GetIDList_Stub(
2123 struct IRpcStubBuffer
* This
,
2124 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2125 PRPC_MESSAGE pRpcMessage
,
2126 DWORD
* pdwStubPhase
);
2127 HRESULT CALLBACK
IShellLinkA_SetIDList_Proxy(
2129 LPCITEMIDLIST pidl
);
2130 void __RPC_STUB
IShellLinkA_SetIDList_Stub(
2131 struct IRpcStubBuffer
* This
,
2132 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2133 PRPC_MESSAGE pRpcMessage
,
2134 DWORD
* pdwStubPhase
);
2135 HRESULT CALLBACK
IShellLinkA_GetDescription_Proxy(
2139 void __RPC_STUB
IShellLinkA_GetDescription_Stub(
2140 struct IRpcStubBuffer
* This
,
2141 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2142 PRPC_MESSAGE pRpcMessage
,
2143 DWORD
* pdwStubPhase
);
2144 HRESULT CALLBACK
IShellLinkA_SetDescription_Proxy(
2147 void __RPC_STUB
IShellLinkA_SetDescription_Stub(
2148 struct IRpcStubBuffer
* This
,
2149 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2150 PRPC_MESSAGE pRpcMessage
,
2151 DWORD
* pdwStubPhase
);
2152 HRESULT CALLBACK
IShellLinkA_GetWorkingDirectory_Proxy(
2156 void __RPC_STUB
IShellLinkA_GetWorkingDirectory_Stub(
2157 struct IRpcStubBuffer
* This
,
2158 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2159 PRPC_MESSAGE pRpcMessage
,
2160 DWORD
* pdwStubPhase
);
2161 HRESULT CALLBACK
IShellLinkA_SetWorkingDirectory_Proxy(
2164 void __RPC_STUB
IShellLinkA_SetWorkingDirectory_Stub(
2165 struct IRpcStubBuffer
* This
,
2166 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2167 PRPC_MESSAGE pRpcMessage
,
2168 DWORD
* pdwStubPhase
);
2169 HRESULT CALLBACK
IShellLinkA_GetArguments_Proxy(
2173 void __RPC_STUB
IShellLinkA_GetArguments_Stub(
2174 struct IRpcStubBuffer
* This
,
2175 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2176 PRPC_MESSAGE pRpcMessage
,
2177 DWORD
* pdwStubPhase
);
2178 HRESULT CALLBACK
IShellLinkA_SetArguments_Proxy(
2181 void __RPC_STUB
IShellLinkA_SetArguments_Stub(
2182 struct IRpcStubBuffer
* This
,
2183 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2184 PRPC_MESSAGE pRpcMessage
,
2185 DWORD
* pdwStubPhase
);
2186 HRESULT CALLBACK
IShellLinkA_GetHotkey_Proxy(
2189 void __RPC_STUB
IShellLinkA_GetHotkey_Stub(
2190 struct IRpcStubBuffer
* This
,
2191 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2192 PRPC_MESSAGE pRpcMessage
,
2193 DWORD
* pdwStubPhase
);
2194 HRESULT CALLBACK
IShellLinkA_SetHotkey_Proxy(
2197 void __RPC_STUB
IShellLinkA_SetHotkey_Stub(
2198 struct IRpcStubBuffer
* This
,
2199 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2200 PRPC_MESSAGE pRpcMessage
,
2201 DWORD
* pdwStubPhase
);
2202 HRESULT CALLBACK
IShellLinkA_GetShowCmd_Proxy(
2205 void __RPC_STUB
IShellLinkA_GetShowCmd_Stub(
2206 struct IRpcStubBuffer
* This
,
2207 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2208 PRPC_MESSAGE pRpcMessage
,
2209 DWORD
* pdwStubPhase
);
2210 HRESULT CALLBACK
IShellLinkA_SetShowCmd_Proxy(
2213 void __RPC_STUB
IShellLinkA_SetShowCmd_Stub(
2214 struct IRpcStubBuffer
* This
,
2215 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2216 PRPC_MESSAGE pRpcMessage
,
2217 DWORD
* pdwStubPhase
);
2218 HRESULT CALLBACK
IShellLinkA_GetIconLocation_Proxy(
2223 void __RPC_STUB
IShellLinkA_GetIconLocation_Stub(
2224 struct IRpcStubBuffer
* This
,
2225 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2226 PRPC_MESSAGE pRpcMessage
,
2227 DWORD
* pdwStubPhase
);
2228 HRESULT CALLBACK
IShellLinkA_SetIconLocation_Proxy(
2232 void __RPC_STUB
IShellLinkA_SetIconLocation_Stub(
2233 struct IRpcStubBuffer
* This
,
2234 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2235 PRPC_MESSAGE pRpcMessage
,
2236 DWORD
* pdwStubPhase
);
2237 HRESULT CALLBACK
IShellLinkA_SetRelativePath_Proxy(
2241 void __RPC_STUB
IShellLinkA_SetRelativePath_Stub(
2242 struct IRpcStubBuffer
* This
,
2243 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2244 PRPC_MESSAGE pRpcMessage
,
2245 DWORD
* pdwStubPhase
);
2246 HRESULT CALLBACK
IShellLinkA_Resolve_Proxy(
2250 void __RPC_STUB
IShellLinkA_Resolve_Stub(
2251 struct IRpcStubBuffer
* This
,
2252 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2253 PRPC_MESSAGE pRpcMessage
,
2254 DWORD
* pdwStubPhase
);
2255 HRESULT CALLBACK
IShellLinkA_SetPath_Proxy(
2258 void __RPC_STUB
IShellLinkA_SetPath_Stub(
2259 struct IRpcStubBuffer
* This
,
2260 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2261 PRPC_MESSAGE pRpcMessage
,
2262 DWORD
* pdwStubPhase
);
2264 #endif /* __IShellLinkA_INTERFACE_DEFINED__ */
2266 #ifndef __IShellLinkW_FWD_DEFINED__
2267 #define __IShellLinkW_FWD_DEFINED__
2268 typedef struct IShellLinkW IShellLinkW
;
2271 /*****************************************************************************
2272 * IShellLinkW interface
2274 #ifndef __IShellLinkW_INTERFACE_DEFINED__
2275 #define __IShellLinkW_INTERFACE_DEFINED__
2277 DEFINE_GUID(IID_IShellLinkW
, 0x000214f9, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2278 #if defined(__cplusplus) && !defined(CINTERFACE)
2279 struct IShellLinkW
: public IUnknown
2281 virtual HRESULT STDMETHODCALLTYPE
GetPath(
2284 WIN32_FIND_DATAW
* pfd
,
2287 virtual HRESULT STDMETHODCALLTYPE
GetIDList(
2288 LPITEMIDLIST
* ppidl
) = 0;
2290 virtual HRESULT STDMETHODCALLTYPE
SetIDList(
2291 LPCITEMIDLIST pidl
) = 0;
2293 virtual HRESULT STDMETHODCALLTYPE
GetDescription(
2297 virtual HRESULT STDMETHODCALLTYPE
SetDescription(
2298 LPCWSTR pszName
) = 0;
2300 virtual HRESULT STDMETHODCALLTYPE
GetWorkingDirectory(
2304 virtual HRESULT STDMETHODCALLTYPE
SetWorkingDirectory(
2305 LPCWSTR pszDir
) = 0;
2307 virtual HRESULT STDMETHODCALLTYPE
GetArguments(
2311 virtual HRESULT STDMETHODCALLTYPE
SetArguments(
2312 LPCWSTR pszArgs
) = 0;
2314 virtual HRESULT STDMETHODCALLTYPE
GetHotkey(
2315 WORD
* pwHotkey
) = 0;
2317 virtual HRESULT STDMETHODCALLTYPE
SetHotkey(
2320 virtual HRESULT STDMETHODCALLTYPE
GetShowCmd(
2321 int* piShowCmd
) = 0;
2323 virtual HRESULT STDMETHODCALLTYPE
SetShowCmd(
2326 virtual HRESULT STDMETHODCALLTYPE
GetIconLocation(
2331 virtual HRESULT STDMETHODCALLTYPE
SetIconLocation(
2332 LPCWSTR pszIconPath
,
2335 virtual HRESULT STDMETHODCALLTYPE
SetRelativePath(
2337 DWORD dwReserved
) = 0;
2339 virtual HRESULT STDMETHODCALLTYPE
Resolve(
2343 virtual HRESULT STDMETHODCALLTYPE
SetPath(
2344 LPCWSTR pszFile
) = 0;
2348 typedef struct IShellLinkWVtbl IShellLinkWVtbl
;
2349 struct IShellLinkW
{
2350 const IShellLinkWVtbl
* lpVtbl
;
2352 struct IShellLinkWVtbl
{
2353 ICOM_MSVTABLE_COMPAT_FIELDS
2355 /*** IUnknown methods ***/
2356 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
2361 ULONG (STDMETHODCALLTYPE
*AddRef
)(
2364 ULONG (STDMETHODCALLTYPE
*Release
)(
2367 /*** IShellLinkW methods ***/
2368 HRESULT (STDMETHODCALLTYPE
*GetPath
)(
2372 WIN32_FIND_DATAW
* pfd
,
2375 HRESULT (STDMETHODCALLTYPE
*GetIDList
)(
2377 LPITEMIDLIST
* ppidl
);
2379 HRESULT (STDMETHODCALLTYPE
*SetIDList
)(
2381 LPCITEMIDLIST pidl
);
2383 HRESULT (STDMETHODCALLTYPE
*GetDescription
)(
2388 HRESULT (STDMETHODCALLTYPE
*SetDescription
)(
2392 HRESULT (STDMETHODCALLTYPE
*GetWorkingDirectory
)(
2397 HRESULT (STDMETHODCALLTYPE
*SetWorkingDirectory
)(
2401 HRESULT (STDMETHODCALLTYPE
*GetArguments
)(
2406 HRESULT (STDMETHODCALLTYPE
*SetArguments
)(
2410 HRESULT (STDMETHODCALLTYPE
*GetHotkey
)(
2414 HRESULT (STDMETHODCALLTYPE
*SetHotkey
)(
2418 HRESULT (STDMETHODCALLTYPE
*GetShowCmd
)(
2422 HRESULT (STDMETHODCALLTYPE
*SetShowCmd
)(
2426 HRESULT (STDMETHODCALLTYPE
*GetIconLocation
)(
2432 HRESULT (STDMETHODCALLTYPE
*SetIconLocation
)(
2434 LPCWSTR pszIconPath
,
2437 HRESULT (STDMETHODCALLTYPE
*SetRelativePath
)(
2442 HRESULT (STDMETHODCALLTYPE
*Resolve
)(
2447 HRESULT (STDMETHODCALLTYPE
*SetPath
)(
2453 /*** IUnknown methods ***/
2454 #define IShellLinkW_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2455 #define IShellLinkW_AddRef(p) (p)->lpVtbl->AddRef(p)
2456 #define IShellLinkW_Release(p) (p)->lpVtbl->Release(p)
2457 /*** IShellLinkW methods ***/
2458 #define IShellLinkW_GetPath(p,a,b,c,d) (p)->lpVtbl->GetPath(p,a,b,c,d)
2459 #define IShellLinkW_GetIDList(p,a) (p)->lpVtbl->GetIDList(p,a)
2460 #define IShellLinkW_SetIDList(p,a) (p)->lpVtbl->SetIDList(p,a)
2461 #define IShellLinkW_GetDescription(p,a,b) (p)->lpVtbl->GetDescription(p,a,b)
2462 #define IShellLinkW_SetDescription(p,a) (p)->lpVtbl->SetDescription(p,a)
2463 #define IShellLinkW_GetWorkingDirectory(p,a,b) (p)->lpVtbl->GetWorkingDirectory(p,a,b)
2464 #define IShellLinkW_SetWorkingDirectory(p,a) (p)->lpVtbl->SetWorkingDirectory(p,a)
2465 #define IShellLinkW_GetArguments(p,a,b) (p)->lpVtbl->GetArguments(p,a,b)
2466 #define IShellLinkW_SetArguments(p,a) (p)->lpVtbl->SetArguments(p,a)
2467 #define IShellLinkW_GetHotkey(p,a) (p)->lpVtbl->GetHotkey(p,a)
2468 #define IShellLinkW_SetHotkey(p,a) (p)->lpVtbl->SetHotkey(p,a)
2469 #define IShellLinkW_GetShowCmd(p,a) (p)->lpVtbl->GetShowCmd(p,a)
2470 #define IShellLinkW_SetShowCmd(p,a) (p)->lpVtbl->SetShowCmd(p,a)
2471 #define IShellLinkW_GetIconLocation(p,a,b,c) (p)->lpVtbl->GetIconLocation(p,a,b,c)
2472 #define IShellLinkW_SetIconLocation(p,a,b) (p)->lpVtbl->SetIconLocation(p,a,b)
2473 #define IShellLinkW_SetRelativePath(p,a,b) (p)->lpVtbl->SetRelativePath(p,a,b)
2474 #define IShellLinkW_Resolve(p,a,b) (p)->lpVtbl->Resolve(p,a,b)
2475 #define IShellLinkW_SetPath(p,a) (p)->lpVtbl->SetPath(p,a)
2479 #define IShellLinkW_METHODS \
2480 ICOM_MSVTABLE_COMPAT_FIELDS \
2481 /*** IUnknown methods ***/ \
2482 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2483 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2484 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2485 /*** IShellLinkW methods ***/ \
2486 STDMETHOD_(HRESULT,GetPath)(THIS_ LPWSTR pszFile, int cch, WIN32_FIND_DATAW* pfd, DWORD fFlags) PURE; \
2487 STDMETHOD_(HRESULT,GetIDList)(THIS_ LPITEMIDLIST* ppidl) PURE; \
2488 STDMETHOD_(HRESULT,SetIDList)(THIS_ LPCITEMIDLIST pidl) PURE; \
2489 STDMETHOD_(HRESULT,GetDescription)(THIS_ LPWSTR pszName, int cch) PURE; \
2490 STDMETHOD_(HRESULT,SetDescription)(THIS_ LPCWSTR pszName) PURE; \
2491 STDMETHOD_(HRESULT,GetWorkingDirectory)(THIS_ LPWSTR pszDir, int cch) PURE; \
2492 STDMETHOD_(HRESULT,SetWorkingDirectory)(THIS_ LPCWSTR pszDir) PURE; \
2493 STDMETHOD_(HRESULT,GetArguments)(THIS_ LPWSTR pszArgs, int cch) PURE; \
2494 STDMETHOD_(HRESULT,SetArguments)(THIS_ LPCWSTR pszArgs) PURE; \
2495 STDMETHOD_(HRESULT,GetHotkey)(THIS_ WORD* pwHotkey) PURE; \
2496 STDMETHOD_(HRESULT,SetHotkey)(THIS_ WORD wHotkey) PURE; \
2497 STDMETHOD_(HRESULT,GetShowCmd)(THIS_ int* piShowCmd) PURE; \
2498 STDMETHOD_(HRESULT,SetShowCmd)(THIS_ int iShowCmd) PURE; \
2499 STDMETHOD_(HRESULT,GetIconLocation)(THIS_ LPWSTR pszIconPath, int cch, int* piIcon) PURE; \
2500 STDMETHOD_(HRESULT,SetIconLocation)(THIS_ LPCWSTR pszIconPath, int iIcon) PURE; \
2501 STDMETHOD_(HRESULT,SetRelativePath)(THIS_ LPCWSTR pszPathRel, DWORD dwReserved) PURE; \
2502 STDMETHOD_(HRESULT,Resolve)(THIS_ HWND hwnd, DWORD fFlags) PURE; \
2503 STDMETHOD_(HRESULT,SetPath)(THIS_ LPCWSTR pszFile) PURE;
2505 HRESULT CALLBACK
IShellLinkW_GetPath_Proxy(
2509 WIN32_FIND_DATAW
* pfd
,
2511 void __RPC_STUB
IShellLinkW_GetPath_Stub(
2512 struct IRpcStubBuffer
* This
,
2513 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2514 PRPC_MESSAGE pRpcMessage
,
2515 DWORD
* pdwStubPhase
);
2516 HRESULT CALLBACK
IShellLinkW_GetIDList_Proxy(
2518 LPITEMIDLIST
* ppidl
);
2519 void __RPC_STUB
IShellLinkW_GetIDList_Stub(
2520 struct IRpcStubBuffer
* This
,
2521 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2522 PRPC_MESSAGE pRpcMessage
,
2523 DWORD
* pdwStubPhase
);
2524 HRESULT CALLBACK
IShellLinkW_SetIDList_Proxy(
2526 LPCITEMIDLIST pidl
);
2527 void __RPC_STUB
IShellLinkW_SetIDList_Stub(
2528 struct IRpcStubBuffer
* This
,
2529 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2530 PRPC_MESSAGE pRpcMessage
,
2531 DWORD
* pdwStubPhase
);
2532 HRESULT CALLBACK
IShellLinkW_GetDescription_Proxy(
2536 void __RPC_STUB
IShellLinkW_GetDescription_Stub(
2537 struct IRpcStubBuffer
* This
,
2538 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2539 PRPC_MESSAGE pRpcMessage
,
2540 DWORD
* pdwStubPhase
);
2541 HRESULT CALLBACK
IShellLinkW_SetDescription_Proxy(
2544 void __RPC_STUB
IShellLinkW_SetDescription_Stub(
2545 struct IRpcStubBuffer
* This
,
2546 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2547 PRPC_MESSAGE pRpcMessage
,
2548 DWORD
* pdwStubPhase
);
2549 HRESULT CALLBACK
IShellLinkW_GetWorkingDirectory_Proxy(
2553 void __RPC_STUB
IShellLinkW_GetWorkingDirectory_Stub(
2554 struct IRpcStubBuffer
* This
,
2555 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2556 PRPC_MESSAGE pRpcMessage
,
2557 DWORD
* pdwStubPhase
);
2558 HRESULT CALLBACK
IShellLinkW_SetWorkingDirectory_Proxy(
2561 void __RPC_STUB
IShellLinkW_SetWorkingDirectory_Stub(
2562 struct IRpcStubBuffer
* This
,
2563 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2564 PRPC_MESSAGE pRpcMessage
,
2565 DWORD
* pdwStubPhase
);
2566 HRESULT CALLBACK
IShellLinkW_GetArguments_Proxy(
2570 void __RPC_STUB
IShellLinkW_GetArguments_Stub(
2571 struct IRpcStubBuffer
* This
,
2572 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2573 PRPC_MESSAGE pRpcMessage
,
2574 DWORD
* pdwStubPhase
);
2575 HRESULT CALLBACK
IShellLinkW_SetArguments_Proxy(
2578 void __RPC_STUB
IShellLinkW_SetArguments_Stub(
2579 struct IRpcStubBuffer
* This
,
2580 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2581 PRPC_MESSAGE pRpcMessage
,
2582 DWORD
* pdwStubPhase
);
2583 HRESULT CALLBACK
IShellLinkW_GetHotkey_Proxy(
2586 void __RPC_STUB
IShellLinkW_GetHotkey_Stub(
2587 struct IRpcStubBuffer
* This
,
2588 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2589 PRPC_MESSAGE pRpcMessage
,
2590 DWORD
* pdwStubPhase
);
2591 HRESULT CALLBACK
IShellLinkW_SetHotkey_Proxy(
2594 void __RPC_STUB
IShellLinkW_SetHotkey_Stub(
2595 struct IRpcStubBuffer
* This
,
2596 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2597 PRPC_MESSAGE pRpcMessage
,
2598 DWORD
* pdwStubPhase
);
2599 HRESULT CALLBACK
IShellLinkW_GetShowCmd_Proxy(
2602 void __RPC_STUB
IShellLinkW_GetShowCmd_Stub(
2603 struct IRpcStubBuffer
* This
,
2604 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2605 PRPC_MESSAGE pRpcMessage
,
2606 DWORD
* pdwStubPhase
);
2607 HRESULT CALLBACK
IShellLinkW_SetShowCmd_Proxy(
2610 void __RPC_STUB
IShellLinkW_SetShowCmd_Stub(
2611 struct IRpcStubBuffer
* This
,
2612 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2613 PRPC_MESSAGE pRpcMessage
,
2614 DWORD
* pdwStubPhase
);
2615 HRESULT CALLBACK
IShellLinkW_GetIconLocation_Proxy(
2620 void __RPC_STUB
IShellLinkW_GetIconLocation_Stub(
2621 struct IRpcStubBuffer
* This
,
2622 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2623 PRPC_MESSAGE pRpcMessage
,
2624 DWORD
* pdwStubPhase
);
2625 HRESULT CALLBACK
IShellLinkW_SetIconLocation_Proxy(
2627 LPCWSTR pszIconPath
,
2629 void __RPC_STUB
IShellLinkW_SetIconLocation_Stub(
2630 struct IRpcStubBuffer
* This
,
2631 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2632 PRPC_MESSAGE pRpcMessage
,
2633 DWORD
* pdwStubPhase
);
2634 HRESULT CALLBACK
IShellLinkW_SetRelativePath_Proxy(
2638 void __RPC_STUB
IShellLinkW_SetRelativePath_Stub(
2639 struct IRpcStubBuffer
* This
,
2640 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2641 PRPC_MESSAGE pRpcMessage
,
2642 DWORD
* pdwStubPhase
);
2643 HRESULT CALLBACK
IShellLinkW_Resolve_Proxy(
2647 void __RPC_STUB
IShellLinkW_Resolve_Stub(
2648 struct IRpcStubBuffer
* This
,
2649 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2650 PRPC_MESSAGE pRpcMessage
,
2651 DWORD
* pdwStubPhase
);
2652 HRESULT CALLBACK
IShellLinkW_SetPath_Proxy(
2655 void __RPC_STUB
IShellLinkW_SetPath_Stub(
2656 struct IRpcStubBuffer
* This
,
2657 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2658 PRPC_MESSAGE pRpcMessage
,
2659 DWORD
* pdwStubPhase
);
2661 #endif /* __IShellLinkW_INTERFACE_DEFINED__ */
2663 #define IShellLink WINELIB_NAME_AW(IShellLink)
2664 #ifndef __IShellExtInit_FWD_DEFINED__
2665 #define __IShellExtInit_FWD_DEFINED__
2666 typedef struct IShellExtInit IShellExtInit
;
2669 typedef IShellExtInit
*LPSHELLEXTINIT
;
2671 /*****************************************************************************
2672 * IShellExtInit interface
2674 #ifndef __IShellExtInit_INTERFACE_DEFINED__
2675 #define __IShellExtInit_INTERFACE_DEFINED__
2677 DEFINE_GUID(IID_IShellExtInit
, 0x000214e8, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2678 #if defined(__cplusplus) && !defined(CINTERFACE)
2679 struct IShellExtInit
: public IUnknown
2681 virtual HRESULT STDMETHODCALLTYPE
Initialize(
2682 LPCITEMIDLIST pidlFolder
,
2683 IDataObject
* pdtobj
,
2684 HKEY hkeyProgID
) = 0;
2688 typedef struct IShellExtInitVtbl IShellExtInitVtbl
;
2689 struct IShellExtInit
{
2690 const IShellExtInitVtbl
* lpVtbl
;
2692 struct IShellExtInitVtbl
{
2693 ICOM_MSVTABLE_COMPAT_FIELDS
2695 /*** IUnknown methods ***/
2696 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
2697 IShellExtInit
* This
,
2701 ULONG (STDMETHODCALLTYPE
*AddRef
)(
2702 IShellExtInit
* This
);
2704 ULONG (STDMETHODCALLTYPE
*Release
)(
2705 IShellExtInit
* This
);
2707 /*** IShellExtInit methods ***/
2708 HRESULT (STDMETHODCALLTYPE
*Initialize
)(
2709 IShellExtInit
* This
,
2710 LPCITEMIDLIST pidlFolder
,
2711 IDataObject
* pdtobj
,
2716 /*** IUnknown methods ***/
2717 #define IShellExtInit_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2718 #define IShellExtInit_AddRef(p) (p)->lpVtbl->AddRef(p)
2719 #define IShellExtInit_Release(p) (p)->lpVtbl->Release(p)
2720 /*** IShellExtInit methods ***/
2721 #define IShellExtInit_Initialize(p,a,b,c) (p)->lpVtbl->Initialize(p,a,b,c)
2725 #define IShellExtInit_METHODS \
2726 ICOM_MSVTABLE_COMPAT_FIELDS \
2727 /*** IUnknown methods ***/ \
2728 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2729 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2730 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2731 /*** IShellExtInit methods ***/ \
2732 STDMETHOD_(HRESULT,Initialize)(THIS_ LPCITEMIDLIST pidlFolder, IDataObject* pdtobj, HKEY hkeyProgID) PURE;
2734 HRESULT CALLBACK
IShellExtInit_Initialize_Proxy(
2735 IShellExtInit
* This
,
2736 LPCITEMIDLIST pidlFolder
,
2737 IDataObject
* pdtobj
,
2739 void __RPC_STUB
IShellExtInit_Initialize_Stub(
2740 struct IRpcStubBuffer
* This
,
2741 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2742 PRPC_MESSAGE pRpcMessage
,
2743 DWORD
* pdwStubPhase
);
2745 #endif /* __IShellExtInit_INTERFACE_DEFINED__ */
2747 #ifndef __IPersistFolder3_FWD_DEFINED__
2748 #define __IPersistFolder3_FWD_DEFINED__
2749 typedef struct IPersistFolder3 IPersistFolder3
;
2753 LPITEMIDLIST pidlTargetFolder
;
2754 WCHAR szTargetParsingName
[260];
2755 WCHAR szNetworkProvider
[260];
2758 } PERSIST_FOLDER_TARGET_INFO
;
2760 /*****************************************************************************
2761 * IPersistFolder3 interface
2763 #ifndef __IPersistFolder3_INTERFACE_DEFINED__
2764 #define __IPersistFolder3_INTERFACE_DEFINED__
2766 DEFINE_GUID(IID_IPersistFolder3
, 0xcef04fdf, 0xfe72, 0x11d2, 0x87,0xa5, 0x00,0xc0,0x4f,0x68,0x37,0xcf);
2767 #if defined(__cplusplus) && !defined(CINTERFACE)
2768 struct IPersistFolder3
: public IPersistFolder2
2770 virtual HRESULT STDMETHODCALLTYPE
InitializeEx(
2772 LPCITEMIDLIST pidlRoot
,
2773 const PERSIST_FOLDER_TARGET_INFO
* ppfti
) = 0;
2775 virtual HRESULT STDMETHODCALLTYPE
GetFolderTargetInfo(
2776 PERSIST_FOLDER_TARGET_INFO
* ppfti
) = 0;
2780 typedef struct IPersistFolder3Vtbl IPersistFolder3Vtbl
;
2781 struct IPersistFolder3
{
2782 const IPersistFolder3Vtbl
* lpVtbl
;
2784 struct IPersistFolder3Vtbl
{
2785 ICOM_MSVTABLE_COMPAT_FIELDS
2787 /*** IUnknown methods ***/
2788 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
2789 IPersistFolder3
* This
,
2793 ULONG (STDMETHODCALLTYPE
*AddRef
)(
2794 IPersistFolder3
* This
);
2796 ULONG (STDMETHODCALLTYPE
*Release
)(
2797 IPersistFolder3
* This
);
2799 /*** IPersist methods ***/
2800 HRESULT (STDMETHODCALLTYPE
*GetClassID
)(
2801 IPersistFolder3
* This
,
2804 /*** IPersistFolder methods ***/
2805 HRESULT (STDMETHODCALLTYPE
*Initialize
)(
2806 IPersistFolder3
* This
,
2807 LPCITEMIDLIST pidl
);
2809 /*** IPersistFolder2 methods ***/
2810 HRESULT (STDMETHODCALLTYPE
*GetCurFolder
)(
2811 IPersistFolder3
* This
,
2812 LPITEMIDLIST
* ppidl
);
2814 /*** IPersistFolder3 methods ***/
2815 HRESULT (STDMETHODCALLTYPE
*InitializeEx
)(
2816 IPersistFolder3
* This
,
2818 LPCITEMIDLIST pidlRoot
,
2819 const PERSIST_FOLDER_TARGET_INFO
* ppfti
);
2821 HRESULT (STDMETHODCALLTYPE
*GetFolderTargetInfo
)(
2822 IPersistFolder3
* This
,
2823 PERSIST_FOLDER_TARGET_INFO
* ppfti
);
2827 /*** IUnknown methods ***/
2828 #define IPersistFolder3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2829 #define IPersistFolder3_AddRef(p) (p)->lpVtbl->AddRef(p)
2830 #define IPersistFolder3_Release(p) (p)->lpVtbl->Release(p)
2831 /*** IPersist methods ***/
2832 #define IPersistFolder3_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
2833 /*** IPersistFolder methods ***/
2834 #define IPersistFolder3_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
2835 /*** IPersistFolder2 methods ***/
2836 #define IPersistFolder3_GetCurFolder(p,a) (p)->lpVtbl->GetCurFolder(p,a)
2837 /*** IPersistFolder3 methods ***/
2838 #define IPersistFolder3_InitializeEx(p,a,b,c) (p)->lpVtbl->InitializeEx(p,a,b,c)
2839 #define IPersistFolder3_GetFolderTargetInfo(p,a) (p)->lpVtbl->GetFolderTargetInfo(p,a)
2843 #define IPersistFolder3_METHODS \
2844 ICOM_MSVTABLE_COMPAT_FIELDS \
2845 /*** IUnknown methods ***/ \
2846 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2847 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2848 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2849 /*** IPersist methods ***/ \
2850 STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \
2851 /*** IPersistFolder methods ***/ \
2852 STDMETHOD_(HRESULT,Initialize)(THIS_ LPCITEMIDLIST pidl) PURE; \
2853 /*** IPersistFolder2 methods ***/ \
2854 STDMETHOD_(HRESULT,GetCurFolder)(THIS_ LPITEMIDLIST* ppidl) PURE; \
2855 /*** IPersistFolder3 methods ***/ \
2856 STDMETHOD_(HRESULT,InitializeEx)(THIS_ IBindCtx* pbc, LPCITEMIDLIST pidlRoot, const PERSIST_FOLDER_TARGET_INFO* ppfti) PURE; \
2857 STDMETHOD_(HRESULT,GetFolderTargetInfo)(THIS_ PERSIST_FOLDER_TARGET_INFO* ppfti) PURE;
2859 HRESULT CALLBACK
IPersistFolder3_InitializeEx_Proxy(
2860 IPersistFolder3
* This
,
2862 LPCITEMIDLIST pidlRoot
,
2863 const PERSIST_FOLDER_TARGET_INFO
* ppfti
);
2864 void __RPC_STUB
IPersistFolder3_InitializeEx_Stub(
2865 struct IRpcStubBuffer
* This
,
2866 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2867 PRPC_MESSAGE pRpcMessage
,
2868 DWORD
* pdwStubPhase
);
2869 HRESULT CALLBACK
IPersistFolder3_GetFolderTargetInfo_Proxy(
2870 IPersistFolder3
* This
,
2871 PERSIST_FOLDER_TARGET_INFO
* ppfti
);
2872 void __RPC_STUB
IPersistFolder3_GetFolderTargetInfo_Stub(
2873 struct IRpcStubBuffer
* This
,
2874 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2875 PRPC_MESSAGE pRpcMessage
,
2876 DWORD
* pdwStubPhase
);
2878 #endif /* __IPersistFolder3_INTERFACE_DEFINED__ */
2880 #ifndef __IExtractIconA_FWD_DEFINED__
2881 #define __IExtractIconA_FWD_DEFINED__
2882 typedef struct IExtractIconA IExtractIconA
;
2885 #define GIL_OPENICON 0x0001
2886 #define GIL_FORSHELL 0x0002
2887 #define GIL_ASYNC 0x0020
2888 #define GIL_DEFAULTICON 0x0040
2889 #define GIL_FORSHORTCUT 0x0080
2890 #define GIL_SIMULATEDOC 0x0001
2891 #define GIL_PERINSTANCE 0x0002
2892 #define GIL_PERCLASS 0x0004
2893 #define GIL_NOTFILENAME 0x0008
2894 #define GIL_DONTCACHE 0x0010
2895 typedef IExtractIconA
*LPEXTRACTICONA
;
2897 /*****************************************************************************
2898 * IExtractIconA interface
2900 #ifndef __IExtractIconA_INTERFACE_DEFINED__
2901 #define __IExtractIconA_INTERFACE_DEFINED__
2903 DEFINE_GUID(IID_IExtractIconA
, 0x000214eb, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2904 #if defined(__cplusplus) && !defined(CINTERFACE)
2905 struct IExtractIconA
: public IUnknown
2907 virtual HRESULT STDMETHODCALLTYPE
GetIconLocation(
2914 virtual HRESULT STDMETHODCALLTYPE
Extract(
2919 UINT nIconSize
) = 0;
2923 typedef struct IExtractIconAVtbl IExtractIconAVtbl
;
2924 struct IExtractIconA
{
2925 const IExtractIconAVtbl
* lpVtbl
;
2927 struct IExtractIconAVtbl
{
2928 ICOM_MSVTABLE_COMPAT_FIELDS
2930 /*** IUnknown methods ***/
2931 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
2932 IExtractIconA
* This
,
2936 ULONG (STDMETHODCALLTYPE
*AddRef
)(
2937 IExtractIconA
* This
);
2939 ULONG (STDMETHODCALLTYPE
*Release
)(
2940 IExtractIconA
* This
);
2942 /*** IExtractIconA methods ***/
2943 HRESULT (STDMETHODCALLTYPE
*GetIconLocation
)(
2944 IExtractIconA
* This
,
2951 HRESULT (STDMETHODCALLTYPE
*Extract
)(
2952 IExtractIconA
* This
,
2961 /*** IUnknown methods ***/
2962 #define IExtractIconA_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2963 #define IExtractIconA_AddRef(p) (p)->lpVtbl->AddRef(p)
2964 #define IExtractIconA_Release(p) (p)->lpVtbl->Release(p)
2965 /*** IExtractIconA methods ***/
2966 #define IExtractIconA_GetIconLocation(p,a,b,c,d,e) (p)->lpVtbl->GetIconLocation(p,a,b,c,d,e)
2967 #define IExtractIconA_Extract(p,a,b,c,d,e) (p)->lpVtbl->Extract(p,a,b,c,d,e)
2971 #define IExtractIconA_METHODS \
2972 ICOM_MSVTABLE_COMPAT_FIELDS \
2973 /*** IUnknown methods ***/ \
2974 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2975 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2976 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2977 /*** IExtractIconA methods ***/ \
2978 STDMETHOD_(HRESULT,GetIconLocation)(THIS_ UINT uFlags, LPSTR szIconFile, UINT cchMax, INT* piIndex, UINT* pwFlags) PURE; \
2979 STDMETHOD_(HRESULT,Extract)(THIS_ LPCSTR pszFile, UINT nIconIndex, HICON* phiconLarge, HICON* phiconSmall, UINT nIconSize) PURE;
2981 HRESULT CALLBACK
IExtractIconA_GetIconLocation_Proxy(
2982 IExtractIconA
* This
,
2988 void __RPC_STUB
IExtractIconA_GetIconLocation_Stub(
2989 struct IRpcStubBuffer
* This
,
2990 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2991 PRPC_MESSAGE pRpcMessage
,
2992 DWORD
* pdwStubPhase
);
2993 HRESULT CALLBACK
IExtractIconA_Extract_Proxy(
2994 IExtractIconA
* This
,
3000 void __RPC_STUB
IExtractIconA_Extract_Stub(
3001 struct IRpcStubBuffer
* This
,
3002 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3003 PRPC_MESSAGE pRpcMessage
,
3004 DWORD
* pdwStubPhase
);
3006 #endif /* __IExtractIconA_INTERFACE_DEFINED__ */
3008 #ifndef __IExtractIconW_FWD_DEFINED__
3009 #define __IExtractIconW_FWD_DEFINED__
3010 typedef struct IExtractIconW IExtractIconW
;
3013 typedef IExtractIconW
*LPEXTRACTICONW
;
3015 /*****************************************************************************
3016 * IExtractIconW interface
3018 #ifndef __IExtractIconW_INTERFACE_DEFINED__
3019 #define __IExtractIconW_INTERFACE_DEFINED__
3021 DEFINE_GUID(IID_IExtractIconW
, 0x000214fa, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3022 #if defined(__cplusplus) && !defined(CINTERFACE)
3023 struct IExtractIconW
: public IUnknown
3025 virtual HRESULT STDMETHODCALLTYPE
GetIconLocation(
3032 virtual HRESULT STDMETHODCALLTYPE
Extract(
3037 UINT nIconSize
) = 0;
3041 typedef struct IExtractIconWVtbl IExtractIconWVtbl
;
3042 struct IExtractIconW
{
3043 const IExtractIconWVtbl
* lpVtbl
;
3045 struct IExtractIconWVtbl
{
3046 ICOM_MSVTABLE_COMPAT_FIELDS
3048 /*** IUnknown methods ***/
3049 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3050 IExtractIconW
* This
,
3054 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3055 IExtractIconW
* This
);
3057 ULONG (STDMETHODCALLTYPE
*Release
)(
3058 IExtractIconW
* This
);
3060 /*** IExtractIconW methods ***/
3061 HRESULT (STDMETHODCALLTYPE
*GetIconLocation
)(
3062 IExtractIconW
* This
,
3069 HRESULT (STDMETHODCALLTYPE
*Extract
)(
3070 IExtractIconW
* This
,
3079 /*** IUnknown methods ***/
3080 #define IExtractIconW_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3081 #define IExtractIconW_AddRef(p) (p)->lpVtbl->AddRef(p)
3082 #define IExtractIconW_Release(p) (p)->lpVtbl->Release(p)
3083 /*** IExtractIconW methods ***/
3084 #define IExtractIconW_GetIconLocation(p,a,b,c,d,e) (p)->lpVtbl->GetIconLocation(p,a,b,c,d,e)
3085 #define IExtractIconW_Extract(p,a,b,c,d,e) (p)->lpVtbl->Extract(p,a,b,c,d,e)
3089 #define IExtractIconW_METHODS \
3090 ICOM_MSVTABLE_COMPAT_FIELDS \
3091 /*** IUnknown methods ***/ \
3092 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3093 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3094 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3095 /*** IExtractIconW methods ***/ \
3096 STDMETHOD_(HRESULT,GetIconLocation)(THIS_ UINT uFlags, LPWSTR szIconFile, UINT cchMax, INT* piIndex, UINT* pwFlags) PURE; \
3097 STDMETHOD_(HRESULT,Extract)(THIS_ LPCWSTR pszFile, UINT nIconIndex, HICON* phiconLarge, HICON* phiconSmall, UINT nIconSize) PURE;
3099 HRESULT CALLBACK
IExtractIconW_GetIconLocation_Proxy(
3100 IExtractIconW
* This
,
3106 void __RPC_STUB
IExtractIconW_GetIconLocation_Stub(
3107 struct IRpcStubBuffer
* This
,
3108 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3109 PRPC_MESSAGE pRpcMessage
,
3110 DWORD
* pdwStubPhase
);
3111 HRESULT CALLBACK
IExtractIconW_Extract_Proxy(
3112 IExtractIconW
* This
,
3118 void __RPC_STUB
IExtractIconW_Extract_Stub(
3119 struct IRpcStubBuffer
* This
,
3120 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3121 PRPC_MESSAGE pRpcMessage
,
3122 DWORD
* pdwStubPhase
);
3124 #endif /* __IExtractIconW_INTERFACE_DEFINED__ */
3126 #define LPEXTRACTICON WINELIB_NAME_AW(LPEXTRACTICON)
3127 #define IExtractIcon WINELIB_NAME_AW(IExtractIcon)
3128 #ifndef __ICommDlgBrowser_FWD_DEFINED__
3129 #define __ICommDlgBrowser_FWD_DEFINED__
3130 typedef struct ICommDlgBrowser ICommDlgBrowser
;
3133 #define CDBOSC_SETFOCUS 0x00000000
3134 #define CDBOSC_KILLFOCUS 0x00000001
3135 #define CDBOSC_SELCHANGE 0x00000002
3136 #define CDBOSC_RENAME 0x00000003
3137 #define CDBOSC_STATECHANGE 0x00000004
3138 typedef ICommDlgBrowser
*LPCOMMDLGBROWSER
;
3140 /*****************************************************************************
3141 * ICommDlgBrowser interface
3143 #ifndef __ICommDlgBrowser_INTERFACE_DEFINED__
3144 #define __ICommDlgBrowser_INTERFACE_DEFINED__
3146 DEFINE_GUID(IID_ICommDlgBrowser
, 0x000214f1, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3147 #if defined(__cplusplus) && !defined(CINTERFACE)
3148 struct ICommDlgBrowser
: public IUnknown
3150 virtual HRESULT STDMETHODCALLTYPE
OnDefaultCommand(
3151 IShellView
* shv
) = 0;
3153 virtual HRESULT STDMETHODCALLTYPE
OnStateChange(
3157 virtual HRESULT STDMETHODCALLTYPE
IncludeObject(
3159 LPCITEMIDLIST pidl
) = 0;
3163 typedef struct ICommDlgBrowserVtbl ICommDlgBrowserVtbl
;
3164 struct ICommDlgBrowser
{
3165 const ICommDlgBrowserVtbl
* lpVtbl
;
3167 struct ICommDlgBrowserVtbl
{
3168 ICOM_MSVTABLE_COMPAT_FIELDS
3170 /*** IUnknown methods ***/
3171 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3172 ICommDlgBrowser
* This
,
3176 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3177 ICommDlgBrowser
* This
);
3179 ULONG (STDMETHODCALLTYPE
*Release
)(
3180 ICommDlgBrowser
* This
);
3182 /*** ICommDlgBrowser methods ***/
3183 HRESULT (STDMETHODCALLTYPE
*OnDefaultCommand
)(
3184 ICommDlgBrowser
* This
,
3187 HRESULT (STDMETHODCALLTYPE
*OnStateChange
)(
3188 ICommDlgBrowser
* This
,
3192 HRESULT (STDMETHODCALLTYPE
*IncludeObject
)(
3193 ICommDlgBrowser
* This
,
3195 LPCITEMIDLIST pidl
);
3199 /*** IUnknown methods ***/
3200 #define ICommDlgBrowser_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3201 #define ICommDlgBrowser_AddRef(p) (p)->lpVtbl->AddRef(p)
3202 #define ICommDlgBrowser_Release(p) (p)->lpVtbl->Release(p)
3203 /*** ICommDlgBrowser methods ***/
3204 #define ICommDlgBrowser_OnDefaultCommand(p,a) (p)->lpVtbl->OnDefaultCommand(p,a)
3205 #define ICommDlgBrowser_OnStateChange(p,a,b) (p)->lpVtbl->OnStateChange(p,a,b)
3206 #define ICommDlgBrowser_IncludeObject(p,a,b) (p)->lpVtbl->IncludeObject(p,a,b)
3210 #define ICommDlgBrowser_METHODS \
3211 ICOM_MSVTABLE_COMPAT_FIELDS \
3212 /*** IUnknown methods ***/ \
3213 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3214 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3215 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3216 /*** ICommDlgBrowser methods ***/ \
3217 STDMETHOD_(HRESULT,OnDefaultCommand)(THIS_ IShellView* shv) PURE; \
3218 STDMETHOD_(HRESULT,OnStateChange)(THIS_ IShellView* shv, ULONG uChange) PURE; \
3219 STDMETHOD_(HRESULT,IncludeObject)(THIS_ IShellView* shv, LPCITEMIDLIST pidl) PURE;
3221 HRESULT CALLBACK
ICommDlgBrowser_OnDefaultCommand_Proxy(
3222 ICommDlgBrowser
* This
,
3224 void __RPC_STUB
ICommDlgBrowser_OnDefaultCommand_Stub(
3225 struct IRpcStubBuffer
* This
,
3226 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3227 PRPC_MESSAGE pRpcMessage
,
3228 DWORD
* pdwStubPhase
);
3229 HRESULT CALLBACK
ICommDlgBrowser_OnStateChange_Proxy(
3230 ICommDlgBrowser
* This
,
3233 void __RPC_STUB
ICommDlgBrowser_OnStateChange_Stub(
3234 struct IRpcStubBuffer
* This
,
3235 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3236 PRPC_MESSAGE pRpcMessage
,
3237 DWORD
* pdwStubPhase
);
3238 HRESULT CALLBACK
ICommDlgBrowser_IncludeObject_Proxy(
3239 ICommDlgBrowser
* This
,
3241 LPCITEMIDLIST pidl
);
3242 void __RPC_STUB
ICommDlgBrowser_IncludeObject_Stub(
3243 struct IRpcStubBuffer
* This
,
3244 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3245 PRPC_MESSAGE pRpcMessage
,
3246 DWORD
* pdwStubPhase
);
3248 #endif /* __ICommDlgBrowser_INTERFACE_DEFINED__ */
3250 #ifndef __IDockingWindowFrame_FWD_DEFINED__
3251 #define __IDockingWindowFrame_FWD_DEFINED__
3252 typedef struct IDockingWindowFrame IDockingWindowFrame
;
3255 #define DWFRF_NORMAL 0x0000
3256 #define DWFRF_DELETECONFIGDATA 0x0001
3257 #define DWFAF_HIDDEN 0x0001
3258 /*****************************************************************************
3259 * IDockingWindowFrame interface
3261 #ifndef __IDockingWindowFrame_INTERFACE_DEFINED__
3262 #define __IDockingWindowFrame_INTERFACE_DEFINED__
3264 DEFINE_GUID(IID_IDockingWindowFrame
, 0x47d2657a, 0x7b27, 0x11d0, 0x8c,0xa9, 0x00,0xa0,0xc9,0x2d,0xbf,0xe8);
3265 #if defined(__cplusplus) && !defined(CINTERFACE)
3266 struct IDockingWindowFrame
: public IOleWindow
3268 virtual HRESULT STDMETHODCALLTYPE
AddToolbar(
3271 DWORD dwAddFlags
) = 0;
3273 virtual HRESULT STDMETHODCALLTYPE
RemoveToolbar(
3275 DWORD dwRemoveFlags
) = 0;
3277 virtual HRESULT STDMETHODCALLTYPE
FindToolbar(
3280 LPVOID
* ppvObj
) = 0;
3284 typedef struct IDockingWindowFrameVtbl IDockingWindowFrameVtbl
;
3285 struct IDockingWindowFrame
{
3286 const IDockingWindowFrameVtbl
* lpVtbl
;
3288 struct IDockingWindowFrameVtbl
{
3289 ICOM_MSVTABLE_COMPAT_FIELDS
3291 /*** IUnknown methods ***/
3292 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3293 IDockingWindowFrame
* This
,
3297 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3298 IDockingWindowFrame
* This
);
3300 ULONG (STDMETHODCALLTYPE
*Release
)(
3301 IDockingWindowFrame
* This
);
3303 /*** IOleWindow methods ***/
3304 HRESULT (STDMETHODCALLTYPE
*GetWindow
)(
3305 IDockingWindowFrame
* This
,
3308 HRESULT (STDMETHODCALLTYPE
*ContextSensitiveHelp
)(
3309 IDockingWindowFrame
* This
,
3312 /*** IDockingWindowFrame methods ***/
3313 HRESULT (STDMETHODCALLTYPE
*AddToolbar
)(
3314 IDockingWindowFrame
* This
,
3319 HRESULT (STDMETHODCALLTYPE
*RemoveToolbar
)(
3320 IDockingWindowFrame
* This
,
3322 DWORD dwRemoveFlags
);
3324 HRESULT (STDMETHODCALLTYPE
*FindToolbar
)(
3325 IDockingWindowFrame
* This
,
3332 /*** IUnknown methods ***/
3333 #define IDockingWindowFrame_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3334 #define IDockingWindowFrame_AddRef(p) (p)->lpVtbl->AddRef(p)
3335 #define IDockingWindowFrame_Release(p) (p)->lpVtbl->Release(p)
3336 /*** IOleWindow methods ***/
3337 #define IDockingWindowFrame_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
3338 #define IDockingWindowFrame_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
3339 /*** IDockingWindowFrame methods ***/
3340 #define IDockingWindowFrame_AddToolbar(p,a,b,c) (p)->lpVtbl->AddToolbar(p,a,b,c)
3341 #define IDockingWindowFrame_RemoveToolbar(p,a,b) (p)->lpVtbl->RemoveToolbar(p,a,b)
3342 #define IDockingWindowFrame_FindToolbar(p,a,b,c) (p)->lpVtbl->FindToolbar(p,a,b,c)
3346 #define IDockingWindowFrame_METHODS \
3347 ICOM_MSVTABLE_COMPAT_FIELDS \
3348 /*** IUnknown methods ***/ \
3349 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3350 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3351 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3352 /*** IOleWindow methods ***/ \
3353 STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND* phwnd) PURE; \
3354 STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE; \
3355 /*** IDockingWindowFrame methods ***/ \
3356 STDMETHOD_(HRESULT,AddToolbar)(THIS_ IUnknown* punkSrc, LPCWSTR pwszItem, DWORD dwAddFlags) PURE; \
3357 STDMETHOD_(HRESULT,RemoveToolbar)(THIS_ IUnknown* punkSrc, DWORD dwRemoveFlags) PURE; \
3358 STDMETHOD_(HRESULT,FindToolbar)(THIS_ LPCWSTR pwszItem, REFIID riid, LPVOID* ppvObj) PURE;
3360 HRESULT CALLBACK
IDockingWindowFrame_AddToolbar_Proxy(
3361 IDockingWindowFrame
* This
,
3365 void __RPC_STUB
IDockingWindowFrame_AddToolbar_Stub(
3366 struct IRpcStubBuffer
* This
,
3367 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3368 PRPC_MESSAGE pRpcMessage
,
3369 DWORD
* pdwStubPhase
);
3370 HRESULT CALLBACK
IDockingWindowFrame_RemoveToolbar_Proxy(
3371 IDockingWindowFrame
* This
,
3373 DWORD dwRemoveFlags
);
3374 void __RPC_STUB
IDockingWindowFrame_RemoveToolbar_Stub(
3375 struct IRpcStubBuffer
* This
,
3376 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3377 PRPC_MESSAGE pRpcMessage
,
3378 DWORD
* pdwStubPhase
);
3379 HRESULT CALLBACK
IDockingWindowFrame_FindToolbar_Proxy(
3380 IDockingWindowFrame
* This
,
3384 void __RPC_STUB
IDockingWindowFrame_FindToolbar_Stub(
3385 struct IRpcStubBuffer
* This
,
3386 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3387 PRPC_MESSAGE pRpcMessage
,
3388 DWORD
* pdwStubPhase
);
3390 #endif /* __IDockingWindowFrame_INTERFACE_DEFINED__ */
3392 #ifndef __IDragSourceHelper_FWD_DEFINED__
3393 #define __IDragSourceHelper_FWD_DEFINED__
3394 typedef struct IDragSourceHelper IDragSourceHelper
;
3400 HBITMAP hbmpDragImage
;
3401 COLORREF crColorKey
;
3402 } SHDRAGIMAGE
, *LPSHDRAGIMAGE
;
3404 /*****************************************************************************
3405 * IDragSourceHelper interface
3407 #ifndef __IDragSourceHelper_INTERFACE_DEFINED__
3408 #define __IDragSourceHelper_INTERFACE_DEFINED__
3410 DEFINE_GUID(IID_IDragSourceHelper
, 0xde5bf786, 0x477a, 0x11d2, 0x83,0x9d, 0x00,0xc0,0x4f,0xd9,0x18,0xd0);
3411 #if defined(__cplusplus) && !defined(CINTERFACE)
3412 struct IDragSourceHelper
: public IUnknown
3414 virtual HRESULT STDMETHODCALLTYPE
InitializeFromBitmap(
3415 LPSHDRAGIMAGE pshdi
,
3416 IDataObject
* pDataObject
) = 0;
3418 virtual HRESULT STDMETHODCALLTYPE
InitializeFromWindow(
3421 IDataObject
* pDataObject
) = 0;
3425 typedef struct IDragSourceHelperVtbl IDragSourceHelperVtbl
;
3426 struct IDragSourceHelper
{
3427 const IDragSourceHelperVtbl
* lpVtbl
;
3429 struct IDragSourceHelperVtbl
{
3430 ICOM_MSVTABLE_COMPAT_FIELDS
3432 /*** IUnknown methods ***/
3433 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3434 IDragSourceHelper
* This
,
3438 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3439 IDragSourceHelper
* This
);
3441 ULONG (STDMETHODCALLTYPE
*Release
)(
3442 IDragSourceHelper
* This
);
3444 /*** IDragSourceHelper methods ***/
3445 HRESULT (STDMETHODCALLTYPE
*InitializeFromBitmap
)(
3446 IDragSourceHelper
* This
,
3447 LPSHDRAGIMAGE pshdi
,
3448 IDataObject
* pDataObject
);
3450 HRESULT (STDMETHODCALLTYPE
*InitializeFromWindow
)(
3451 IDragSourceHelper
* This
,
3454 IDataObject
* pDataObject
);
3458 /*** IUnknown methods ***/
3459 #define IDragSourceHelper_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3460 #define IDragSourceHelper_AddRef(p) (p)->lpVtbl->AddRef(p)
3461 #define IDragSourceHelper_Release(p) (p)->lpVtbl->Release(p)
3462 /*** IDragSourceHelper methods ***/
3463 #define IDragSourceHelper_InitializeFromBitmap(p,a,b) (p)->lpVtbl->InitializeFromBitmap(p,a,b)
3464 #define IDragSourceHelper_InitializeFromWindow(p,a,b,c) (p)->lpVtbl->InitializeFromWindow(p,a,b,c)
3468 #define IDragSourceHelper_METHODS \
3469 ICOM_MSVTABLE_COMPAT_FIELDS \
3470 /*** IUnknown methods ***/ \
3471 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3472 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3473 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3474 /*** IDragSourceHelper methods ***/ \
3475 STDMETHOD_(HRESULT,InitializeFromBitmap)(THIS_ LPSHDRAGIMAGE pshdi, IDataObject* pDataObject) PURE; \
3476 STDMETHOD_(HRESULT,InitializeFromWindow)(THIS_ HWND hwnd, POINT* ppt, IDataObject* pDataObject) PURE;
3478 HRESULT CALLBACK
IDragSourceHelper_InitializeFromBitmap_Proxy(
3479 IDragSourceHelper
* This
,
3480 LPSHDRAGIMAGE pshdi
,
3481 IDataObject
* pDataObject
);
3482 void __RPC_STUB
IDragSourceHelper_InitializeFromBitmap_Stub(
3483 struct IRpcStubBuffer
* This
,
3484 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3485 PRPC_MESSAGE pRpcMessage
,
3486 DWORD
* pdwStubPhase
);
3487 HRESULT CALLBACK
IDragSourceHelper_InitializeFromWindow_Proxy(
3488 IDragSourceHelper
* This
,
3491 IDataObject
* pDataObject
);
3492 void __RPC_STUB
IDragSourceHelper_InitializeFromWindow_Stub(
3493 struct IRpcStubBuffer
* This
,
3494 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3495 PRPC_MESSAGE pRpcMessage
,
3496 DWORD
* pdwStubPhase
);
3498 #endif /* __IDragSourceHelper_INTERFACE_DEFINED__ */
3500 #ifndef __IDropTargetHelper_FWD_DEFINED__
3501 #define __IDropTargetHelper_FWD_DEFINED__
3502 typedef struct IDropTargetHelper IDropTargetHelper
;
3505 /*****************************************************************************
3506 * IDropTargetHelper interface
3508 #ifndef __IDropTargetHelper_INTERFACE_DEFINED__
3509 #define __IDropTargetHelper_INTERFACE_DEFINED__
3511 DEFINE_GUID(IID_IDropTargetHelper
, 0x4657278b, 0x411b, 0x11d2, 0x83,0x9a, 0x00,0xc0,0x4f,0xd9,0x18,0xd0);
3512 #if defined(__cplusplus) && !defined(CINTERFACE)
3513 struct IDropTargetHelper
: public IUnknown
3515 virtual HRESULT STDMETHODCALLTYPE
DragEnter(
3517 IDataObject
* pDataObject
,
3519 DWORD dwEffect
) = 0;
3521 virtual HRESULT STDMETHODCALLTYPE
DragLeave(
3524 virtual HRESULT STDMETHODCALLTYPE
DragOver(
3526 DWORD dwEffect
) = 0;
3528 virtual HRESULT STDMETHODCALLTYPE
Drop(
3529 IDataObject
* pDataObject
,
3531 DWORD dwEffect
) = 0;
3533 virtual HRESULT STDMETHODCALLTYPE
Show(
3538 typedef struct IDropTargetHelperVtbl IDropTargetHelperVtbl
;
3539 struct IDropTargetHelper
{
3540 const IDropTargetHelperVtbl
* lpVtbl
;
3542 struct IDropTargetHelperVtbl
{
3543 ICOM_MSVTABLE_COMPAT_FIELDS
3545 /*** IUnknown methods ***/
3546 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3547 IDropTargetHelper
* This
,
3551 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3552 IDropTargetHelper
* This
);
3554 ULONG (STDMETHODCALLTYPE
*Release
)(
3555 IDropTargetHelper
* This
);
3557 /*** IDropTargetHelper methods ***/
3558 HRESULT (STDMETHODCALLTYPE
*DragEnter
)(
3559 IDropTargetHelper
* This
,
3561 IDataObject
* pDataObject
,
3565 HRESULT (STDMETHODCALLTYPE
*DragLeave
)(
3566 IDropTargetHelper
* This
);
3568 HRESULT (STDMETHODCALLTYPE
*DragOver
)(
3569 IDropTargetHelper
* This
,
3573 HRESULT (STDMETHODCALLTYPE
*Drop
)(
3574 IDropTargetHelper
* This
,
3575 IDataObject
* pDataObject
,
3579 HRESULT (STDMETHODCALLTYPE
*Show
)(
3580 IDropTargetHelper
* This
,
3585 /*** IUnknown methods ***/
3586 #define IDropTargetHelper_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3587 #define IDropTargetHelper_AddRef(p) (p)->lpVtbl->AddRef(p)
3588 #define IDropTargetHelper_Release(p) (p)->lpVtbl->Release(p)
3589 /*** IDropTargetHelper methods ***/
3590 #define IDropTargetHelper_DragEnter(p,a,b,c,d) (p)->lpVtbl->DragEnter(p,a,b,c,d)
3591 #define IDropTargetHelper_DragLeave(p) (p)->lpVtbl->DragLeave(p)
3592 #define IDropTargetHelper_DragOver(p,a,b) (p)->lpVtbl->DragOver(p,a,b)
3593 #define IDropTargetHelper_Drop(p,a,b,c) (p)->lpVtbl->Drop(p,a,b,c)
3594 #define IDropTargetHelper_Show(p,a) (p)->lpVtbl->Show(p,a)
3598 #define IDropTargetHelper_METHODS \
3599 ICOM_MSVTABLE_COMPAT_FIELDS \
3600 /*** IUnknown methods ***/ \
3601 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3602 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3603 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3604 /*** IDropTargetHelper methods ***/ \
3605 STDMETHOD_(HRESULT,DragEnter)(THIS_ HWND hwndTarget, IDataObject* pDataObject, POINT* ppt, DWORD dwEffect) PURE; \
3606 STDMETHOD_(HRESULT,DragLeave)(THIS) PURE; \
3607 STDMETHOD_(HRESULT,DragOver)(THIS_ POINT* ppt, DWORD dwEffect) PURE; \
3608 STDMETHOD_(HRESULT,Drop)(THIS_ IDataObject* pDataObject, POINT* ppt, DWORD dwEffect) PURE; \
3609 STDMETHOD_(HRESULT,Show)(THIS_ BOOL fShow) PURE;
3611 HRESULT CALLBACK
IDropTargetHelper_DragEnter_Proxy(
3612 IDropTargetHelper
* This
,
3614 IDataObject
* pDataObject
,
3617 void __RPC_STUB
IDropTargetHelper_DragEnter_Stub(
3618 struct IRpcStubBuffer
* This
,
3619 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3620 PRPC_MESSAGE pRpcMessage
,
3621 DWORD
* pdwStubPhase
);
3622 HRESULT CALLBACK
IDropTargetHelper_DragLeave_Proxy(
3623 IDropTargetHelper
* This
);
3624 void __RPC_STUB
IDropTargetHelper_DragLeave_Stub(
3625 struct IRpcStubBuffer
* This
,
3626 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3627 PRPC_MESSAGE pRpcMessage
,
3628 DWORD
* pdwStubPhase
);
3629 HRESULT CALLBACK
IDropTargetHelper_DragOver_Proxy(
3630 IDropTargetHelper
* This
,
3633 void __RPC_STUB
IDropTargetHelper_DragOver_Stub(
3634 struct IRpcStubBuffer
* This
,
3635 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3636 PRPC_MESSAGE pRpcMessage
,
3637 DWORD
* pdwStubPhase
);
3638 HRESULT CALLBACK
IDropTargetHelper_Drop_Proxy(
3639 IDropTargetHelper
* This
,
3640 IDataObject
* pDataObject
,
3643 void __RPC_STUB
IDropTargetHelper_Drop_Stub(
3644 struct IRpcStubBuffer
* This
,
3645 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3646 PRPC_MESSAGE pRpcMessage
,
3647 DWORD
* pdwStubPhase
);
3648 HRESULT CALLBACK
IDropTargetHelper_Show_Proxy(
3649 IDropTargetHelper
* This
,
3651 void __RPC_STUB
IDropTargetHelper_Show_Stub(
3652 struct IRpcStubBuffer
* This
,
3653 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3654 PRPC_MESSAGE pRpcMessage
,
3655 DWORD
* pdwStubPhase
);
3657 #endif /* __IDropTargetHelper_INTERFACE_DEFINED__ */
3659 #ifndef __IContextMenu_FWD_DEFINED__
3660 #define __IContextMenu_FWD_DEFINED__
3661 typedef struct IContextMenu IContextMenu
;
3664 #define CMF_NORMAL 0x00000000
3665 #define CMF_DEFAULTONLY 0x00000001
3666 #define CMF_VERBSONLY 0x00000002
3667 #define CMF_EXPLORE 0x00000004
3668 #define CMF_NOVERBS 0x00000008
3669 #define CMF_CANRENAME 0x00000010
3670 #define CMF_NODEFAULT 0x00000020
3671 #define CMF_INCLUDESTATIC 0x00000040
3672 #define CMF_EXTENDEDVERBS 0x00000100
3673 #define CMF_RESERVED 0xffff0000
3674 #define GCS_VERBA 0x00000000
3675 #define GCS_HELPTEXTA 0x00000001
3676 #define GCS_VALIDATEA 0x00000002
3677 #define GCS_VERBW 0x00000004
3678 #define GCS_HELPTEXTW 0x00000005
3679 #define GCS_VALIDATEW 0x00000006
3680 #define GCS_UNICODE 0x00000004
3681 #define GCS_VERB WINELIB_NAME_AW(GCS_VERB)
3682 #define GCS_HELPTEXT WINELIB_NAME_AW(GCS_HELPTEXT)
3683 #define GCS_VALIDATE WINELIB_NAME_AW(GCS_VALIDATE)
3684 #define CMDSTR_NEWFOLDERA "NewFolder"
3685 #define CMDSTR_VIEWLISTA "ViewList"
3686 #define CMDSTR_VIEWDETAILSA "ViewDetails"
3687 #if defined(__GNUC__)
3688 # define CMDSTR_NEWFOLDERW (const WCHAR []){ 'N','e','w','F','o','l','d','e','r',0 }
3689 # define CMDSTR_VIEWLISTW (const WCHAR []){ 'V','i','e','w','L','i','s','t',0 }
3690 # define CMDSTR_VIEWDETAILSW (const WCHAR []){ 'V','i','e','w','D','e','t','a','i','l','s',0 }
3691 #elif defined(_MSC_VER)
3692 # define CMDSTR_NEWFOLDERW L"NewFolder"
3693 # define CMDSTR_VIEWLISTW L"ViewList"
3694 # define CMDSTR_VIEWDETAILSW L"ViewDetails"
3696 static const WCHAR CMDSTR_NEWFOLDERW
[] = {'N','e','w','F','o','l','d','e','r',0};
3697 static const WCHAR CMDSTR_VIEWLISTW
[] = {'V','i','e','w','L','i','s','t',0};
3698 static const WCHAR CMDSTR_VIEWDETAILSW
[] = {'V','i','e','w','D','e','t','a','i','l','s',0};
3700 #define CMDSTR_NEWFOLDER WINELIB_NAME_AW(CMDSTR_NEWFOLDER)
3701 #define CMDSTR_VIEWLIST WINELIB_NAME_AW(CMDSTR_VIEWLIST)
3702 #define CMDSTR_VIEWDETAILS WINELIB_NAME_AW(CMDSTR_VIEWDETAILS)
3703 #define CMIC_MASK_HOTKEY SEE_MASK_HOTKEY
3704 #define CMIC_MASK_ICON SEE_MASK_ICON
3705 #define CMIC_MASK_FLAG_NO_UI SEE_MASK_FLAG_NO_UI
3706 #define CMIC_MASK_UNICODE SEE_MASK_UNICODE
3707 #define CMIC_MASK_NO_CONSOLE SEE_MASK_NO_CONSOLE
3708 #define CMIC_MASK_HASLINKNAME SEE_MASK_HASLINKNAME
3709 #define CMIC_MASK_FLAG_SEP_VDM SEE_MASK_FLAG_SEPVDM
3710 #define CMIC_MASK_HASTITLE SEE_MASK_HASTITLE
3711 #define CMIC_MASK_ASYNCOK SEE_MASK_ASYNCOK
3712 #define CMIC_MASK_SHIFT_DOWN 0x10000000
3713 #define CMIC_MASK_PTINVOKE 0x20000000
3714 #define CMIC_MASK_CONTROL_DOWN 0x40000000
3715 #define CMIC_MASK_FLAG_LOG_USAGE SEE_MASK_FLAG_LOG_USAGE
3716 #define CMIC_MASK_NOZONECHECKS SEE_MASK_NOZONECHECKS
3717 typedef IContextMenu
*LPCONTEXTMENU
;
3719 typedef struct tagCMINVOKECOMMANDINFO
{
3724 LPCSTR lpParameters
;
3729 } CMINVOKECOMMANDINFO
, *LPCMINVOKECOMMANDINFO
;
3731 typedef struct tagCMInvokeCommandInfoEx
{
3736 LPCSTR lpParameters
;
3743 LPCWSTR lpParametersW
;
3744 LPCWSTR lpDirectoryW
;
3747 } CMINVOKECOMMANDINFOEX
, *LPCMINVOKECOMMANDINFOEX
;
3749 /*****************************************************************************
3750 * IContextMenu interface
3752 #ifndef __IContextMenu_INTERFACE_DEFINED__
3753 #define __IContextMenu_INTERFACE_DEFINED__
3755 DEFINE_GUID(IID_IContextMenu
, 0x000214e4, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3756 #if defined(__cplusplus) && !defined(CINTERFACE)
3757 struct IContextMenu
: public IUnknown
3759 virtual HRESULT STDMETHODCALLTYPE
QueryContextMenu(
3766 virtual HRESULT STDMETHODCALLTYPE
InvokeCommand(
3767 LPCMINVOKECOMMANDINFO lpici
) = 0;
3769 virtual HRESULT STDMETHODCALLTYPE
GetCommandString(
3778 typedef struct IContextMenuVtbl IContextMenuVtbl
;
3779 struct IContextMenu
{
3780 const IContextMenuVtbl
* lpVtbl
;
3782 struct IContextMenuVtbl
{
3783 ICOM_MSVTABLE_COMPAT_FIELDS
3785 /*** IUnknown methods ***/
3786 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3791 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3792 IContextMenu
* This
);
3794 ULONG (STDMETHODCALLTYPE
*Release
)(
3795 IContextMenu
* This
);
3797 /*** IContextMenu methods ***/
3798 HRESULT (STDMETHODCALLTYPE
*QueryContextMenu
)(
3806 HRESULT (STDMETHODCALLTYPE
*InvokeCommand
)(
3808 LPCMINVOKECOMMANDINFO lpici
);
3810 HRESULT (STDMETHODCALLTYPE
*GetCommandString
)(
3820 /*** IUnknown methods ***/
3821 #define IContextMenu_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3822 #define IContextMenu_AddRef(p) (p)->lpVtbl->AddRef(p)
3823 #define IContextMenu_Release(p) (p)->lpVtbl->Release(p)
3824 /*** IContextMenu methods ***/
3825 #define IContextMenu_QueryContextMenu(p,a,b,c,d,e) (p)->lpVtbl->QueryContextMenu(p,a,b,c,d,e)
3826 #define IContextMenu_InvokeCommand(p,a) (p)->lpVtbl->InvokeCommand(p,a)
3827 #define IContextMenu_GetCommandString(p,a,b,c,d,e) (p)->lpVtbl->GetCommandString(p,a,b,c,d,e)
3831 #define IContextMenu_METHODS \
3832 ICOM_MSVTABLE_COMPAT_FIELDS \
3833 /*** IUnknown methods ***/ \
3834 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3835 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3836 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3837 /*** IContextMenu methods ***/ \
3838 STDMETHOD_(HRESULT,QueryContextMenu)(THIS_ HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) PURE; \
3839 STDMETHOD_(HRESULT,InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO lpici) PURE; \
3840 STDMETHOD_(HRESULT,GetCommandString)(THIS_ UINT idCmd, UINT uType, UINT* pwReserved, LPSTR pszName, UINT cchMax) PURE;
3842 HRESULT CALLBACK
IContextMenu_QueryContextMenu_Proxy(
3849 void __RPC_STUB
IContextMenu_QueryContextMenu_Stub(
3850 struct IRpcStubBuffer
* This
,
3851 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3852 PRPC_MESSAGE pRpcMessage
,
3853 DWORD
* pdwStubPhase
);
3854 HRESULT CALLBACK
IContextMenu_InvokeCommand_Proxy(
3856 LPCMINVOKECOMMANDINFO lpici
);
3857 void __RPC_STUB
IContextMenu_InvokeCommand_Stub(
3858 struct IRpcStubBuffer
* This
,
3859 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3860 PRPC_MESSAGE pRpcMessage
,
3861 DWORD
* pdwStubPhase
);
3862 HRESULT CALLBACK
IContextMenu_GetCommandString_Proxy(
3869 void __RPC_STUB
IContextMenu_GetCommandString_Stub(
3870 struct IRpcStubBuffer
* This
,
3871 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3872 PRPC_MESSAGE pRpcMessage
,
3873 DWORD
* pdwStubPhase
);
3875 #endif /* __IContextMenu_INTERFACE_DEFINED__ */
3877 #ifndef __IContextMenu2_FWD_DEFINED__
3878 #define __IContextMenu2_FWD_DEFINED__
3879 typedef struct IContextMenu2 IContextMenu2
;
3882 typedef IContextMenu2
*LPCONTEXTMENU2
;
3884 /*****************************************************************************
3885 * IContextMenu2 interface
3887 #ifndef __IContextMenu2_INTERFACE_DEFINED__
3888 #define __IContextMenu2_INTERFACE_DEFINED__
3890 DEFINE_GUID(IID_IContextMenu2
, 0x000214f4, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3891 #if defined(__cplusplus) && !defined(CINTERFACE)
3892 struct IContextMenu2
: public IContextMenu
3894 virtual HRESULT STDMETHODCALLTYPE
HandleMenuMsg(
3901 typedef struct IContextMenu2Vtbl IContextMenu2Vtbl
;
3902 struct IContextMenu2
{
3903 const IContextMenu2Vtbl
* lpVtbl
;
3905 struct IContextMenu2Vtbl
{
3906 ICOM_MSVTABLE_COMPAT_FIELDS
3908 /*** IUnknown methods ***/
3909 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3910 IContextMenu2
* This
,
3914 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3915 IContextMenu2
* This
);
3917 ULONG (STDMETHODCALLTYPE
*Release
)(
3918 IContextMenu2
* This
);
3920 /*** IContextMenu methods ***/
3921 HRESULT (STDMETHODCALLTYPE
*QueryContextMenu
)(
3922 IContextMenu2
* This
,
3929 HRESULT (STDMETHODCALLTYPE
*InvokeCommand
)(
3930 IContextMenu2
* This
,
3931 LPCMINVOKECOMMANDINFO lpici
);
3933 HRESULT (STDMETHODCALLTYPE
*GetCommandString
)(
3934 IContextMenu2
* This
,
3941 /*** IContextMenu2 methods ***/
3942 HRESULT (STDMETHODCALLTYPE
*HandleMenuMsg
)(
3943 IContextMenu2
* This
,
3950 /*** IUnknown methods ***/
3951 #define IContextMenu2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3952 #define IContextMenu2_AddRef(p) (p)->lpVtbl->AddRef(p)
3953 #define IContextMenu2_Release(p) (p)->lpVtbl->Release(p)
3954 /*** IContextMenu methods ***/
3955 #define IContextMenu2_QueryContextMenu(p,a,b,c,d,e) (p)->lpVtbl->QueryContextMenu(p,a,b,c,d,e)
3956 #define IContextMenu2_InvokeCommand(p,a) (p)->lpVtbl->InvokeCommand(p,a)
3957 #define IContextMenu2_GetCommandString(p,a,b,c,d,e) (p)->lpVtbl->GetCommandString(p,a,b,c,d,e)
3958 /*** IContextMenu2 methods ***/
3959 #define IContextMenu2_HandleMenuMsg(p,a,b,c) (p)->lpVtbl->HandleMenuMsg(p,a,b,c)
3963 #define IContextMenu2_METHODS \
3964 ICOM_MSVTABLE_COMPAT_FIELDS \
3965 /*** IUnknown methods ***/ \
3966 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3967 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3968 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3969 /*** IContextMenu methods ***/ \
3970 STDMETHOD_(HRESULT,QueryContextMenu)(THIS_ HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) PURE; \
3971 STDMETHOD_(HRESULT,InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO lpici) PURE; \
3972 STDMETHOD_(HRESULT,GetCommandString)(THIS_ UINT idCmd, UINT uType, UINT* pwReserved, LPSTR pszName, UINT cchMax) PURE; \
3973 /*** IContextMenu2 methods ***/ \
3974 STDMETHOD_(HRESULT,HandleMenuMsg)(THIS_ UINT uMsg, WPARAM wParam, LPARAM lParam) PURE;
3976 HRESULT CALLBACK
IContextMenu2_HandleMenuMsg_Proxy(
3977 IContextMenu2
* This
,
3981 void __RPC_STUB
IContextMenu2_HandleMenuMsg_Stub(
3982 struct IRpcStubBuffer
* This
,
3983 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3984 PRPC_MESSAGE pRpcMessage
,
3985 DWORD
* pdwStubPhase
);
3987 #endif /* __IContextMenu2_INTERFACE_DEFINED__ */
3989 #ifndef __IContextMenu3_FWD_DEFINED__
3990 #define __IContextMenu3_FWD_DEFINED__
3991 typedef struct IContextMenu3 IContextMenu3
;
3994 typedef IContextMenu3
*LPCONTEXTMENU3
;
3996 /*****************************************************************************
3997 * IContextMenu3 interface
3999 #ifndef __IContextMenu3_INTERFACE_DEFINED__
4000 #define __IContextMenu3_INTERFACE_DEFINED__
4002 DEFINE_GUID(IID_IContextMenu3
, 0xbcfce0a0, 0xec17, 0x11d0, 0x8d,0x10, 0x00,0xa0,0xc9,0x0f,0x27,0x19);
4003 #if defined(__cplusplus) && !defined(CINTERFACE)
4004 struct IContextMenu3
: public IContextMenu2
4006 virtual HRESULT STDMETHODCALLTYPE
HandleMenuMsg2(
4010 LRESULT
* plResult
) = 0;
4014 typedef struct IContextMenu3Vtbl IContextMenu3Vtbl
;
4015 struct IContextMenu3
{
4016 const IContextMenu3Vtbl
* lpVtbl
;
4018 struct IContextMenu3Vtbl
{
4019 ICOM_MSVTABLE_COMPAT_FIELDS
4021 /*** IUnknown methods ***/
4022 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
4023 IContextMenu3
* This
,
4027 ULONG (STDMETHODCALLTYPE
*AddRef
)(
4028 IContextMenu3
* This
);
4030 ULONG (STDMETHODCALLTYPE
*Release
)(
4031 IContextMenu3
* This
);
4033 /*** IContextMenu methods ***/
4034 HRESULT (STDMETHODCALLTYPE
*QueryContextMenu
)(
4035 IContextMenu3
* This
,
4042 HRESULT (STDMETHODCALLTYPE
*InvokeCommand
)(
4043 IContextMenu3
* This
,
4044 LPCMINVOKECOMMANDINFO lpici
);
4046 HRESULT (STDMETHODCALLTYPE
*GetCommandString
)(
4047 IContextMenu3
* This
,
4054 /*** IContextMenu2 methods ***/
4055 HRESULT (STDMETHODCALLTYPE
*HandleMenuMsg
)(
4056 IContextMenu3
* This
,
4061 /*** IContextMenu3 methods ***/
4062 HRESULT (STDMETHODCALLTYPE
*HandleMenuMsg2
)(
4063 IContextMenu3
* This
,
4071 /*** IUnknown methods ***/
4072 #define IContextMenu3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4073 #define IContextMenu3_AddRef(p) (p)->lpVtbl->AddRef(p)
4074 #define IContextMenu3_Release(p) (p)->lpVtbl->Release(p)
4075 /*** IContextMenu methods ***/
4076 #define IContextMenu3_QueryContextMenu(p,a,b,c,d,e) (p)->lpVtbl->QueryContextMenu(p,a,b,c,d,e)
4077 #define IContextMenu3_InvokeCommand(p,a) (p)->lpVtbl->InvokeCommand(p,a)
4078 #define IContextMenu3_GetCommandString(p,a,b,c,d,e) (p)->lpVtbl->GetCommandString(p,a,b,c,d,e)
4079 /*** IContextMenu2 methods ***/
4080 #define IContextMenu3_HandleMenuMsg(p,a,b,c) (p)->lpVtbl->HandleMenuMsg(p,a,b,c)
4081 /*** IContextMenu3 methods ***/
4082 #define IContextMenu3_HandleMenuMsg2(p,a,b,c,d) (p)->lpVtbl->HandleMenuMsg2(p,a,b,c,d)
4086 #define IContextMenu3_METHODS \
4087 ICOM_MSVTABLE_COMPAT_FIELDS \
4088 /*** IUnknown methods ***/ \
4089 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
4090 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
4091 STDMETHOD_(ULONG,Release)(THIS) PURE; \
4092 /*** IContextMenu methods ***/ \
4093 STDMETHOD_(HRESULT,QueryContextMenu)(THIS_ HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) PURE; \
4094 STDMETHOD_(HRESULT,InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO lpici) PURE; \
4095 STDMETHOD_(HRESULT,GetCommandString)(THIS_ UINT idCmd, UINT uType, UINT* pwReserved, LPSTR pszName, UINT cchMax) PURE; \
4096 /*** IContextMenu2 methods ***/ \
4097 STDMETHOD_(HRESULT,HandleMenuMsg)(THIS_ UINT uMsg, WPARAM wParam, LPARAM lParam) PURE; \
4098 /*** IContextMenu3 methods ***/ \
4099 STDMETHOD_(HRESULT,HandleMenuMsg2)(THIS_ UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT* plResult) PURE;
4101 HRESULT CALLBACK
IContextMenu3_HandleMenuMsg2_Proxy(
4102 IContextMenu3
* This
,
4107 void __RPC_STUB
IContextMenu3_HandleMenuMsg2_Stub(
4108 struct IRpcStubBuffer
* This
,
4109 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4110 PRPC_MESSAGE pRpcMessage
,
4111 DWORD
* pdwStubPhase
);
4113 #endif /* __IContextMenu3_INTERFACE_DEFINED__ */
4118 #endif /* __WIDL_SHOBJIDL_H */