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
{
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
)(
71 /*** IUnknown methods ***/
72 #define IPersistFolder_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
73 #define IPersistFolder_AddRef(p) (p)->lpVtbl->AddRef(p)
74 #define IPersistFolder_Release(p) (p)->lpVtbl->Release(p)
75 /*** IPersist methods ***/
76 #define IPersistFolder_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
77 /*** IPersistFolder methods ***/
78 #define IPersistFolder_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
83 #define IPersistFolder_METHODS \
84 /*** IUnknown methods ***/ \
85 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
86 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
87 STDMETHOD_(ULONG,Release)(THIS) PURE; \
88 /*** IPersist methods ***/ \
89 STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \
90 /*** IPersistFolder methods ***/ \
91 STDMETHOD_(HRESULT,Initialize)(THIS_ LPCITEMIDLIST pidl) PURE;
93 HRESULT CALLBACK
IPersistFolder_Initialize_Proxy(
96 void __RPC_STUB
IPersistFolder_Initialize_Stub(
97 struct IRpcStubBuffer
* This
,
98 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
99 PRPC_MESSAGE pRpcMessage
,
100 DWORD
* pdwStubPhase
);
102 #endif /* __IPersistFolder_INTERFACE_DEFINED__ */
104 #ifndef __IPersistFolder2_FWD_DEFINED__
105 #define __IPersistFolder2_FWD_DEFINED__
106 typedef struct IPersistFolder2 IPersistFolder2
;
109 typedef IPersistFolder2
*LPPERSISTFOLDER2
;
111 /*****************************************************************************
112 * IPersistFolder2 interface
114 #ifndef __IPersistFolder2_INTERFACE_DEFINED__
115 #define __IPersistFolder2_INTERFACE_DEFINED__
117 DEFINE_GUID(IID_IPersistFolder2
, 0x1ac3d9f0, 0x175c, 0x11d1, 0x95,0xbe, 0x00,0x60,0x97,0x97,0xea,0x4f);
118 #if defined(__cplusplus) && !defined(CINTERFACE)
119 struct IPersistFolder2
: public IPersistFolder
121 virtual HRESULT STDMETHODCALLTYPE
GetCurFolder(
122 LPITEMIDLIST
* ppidl
) = 0;
126 typedef struct IPersistFolder2Vtbl IPersistFolder2Vtbl
;
127 struct IPersistFolder2
{
128 const IPersistFolder2Vtbl
* lpVtbl
;
130 struct IPersistFolder2Vtbl
{
133 /*** IUnknown methods ***/
134 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
135 IPersistFolder2
* This
,
139 ULONG (STDMETHODCALLTYPE
*AddRef
)(
140 IPersistFolder2
* This
);
142 ULONG (STDMETHODCALLTYPE
*Release
)(
143 IPersistFolder2
* This
);
145 /*** IPersist methods ***/
146 HRESULT (STDMETHODCALLTYPE
*GetClassID
)(
147 IPersistFolder2
* This
,
150 /*** IPersistFolder methods ***/
151 HRESULT (STDMETHODCALLTYPE
*Initialize
)(
152 IPersistFolder2
* This
,
155 /*** IPersistFolder2 methods ***/
156 HRESULT (STDMETHODCALLTYPE
*GetCurFolder
)(
157 IPersistFolder2
* This
,
158 LPITEMIDLIST
* ppidl
);
164 /*** IUnknown methods ***/
165 #define IPersistFolder2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
166 #define IPersistFolder2_AddRef(p) (p)->lpVtbl->AddRef(p)
167 #define IPersistFolder2_Release(p) (p)->lpVtbl->Release(p)
168 /*** IPersist methods ***/
169 #define IPersistFolder2_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
170 /*** IPersistFolder methods ***/
171 #define IPersistFolder2_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
172 /*** IPersistFolder2 methods ***/
173 #define IPersistFolder2_GetCurFolder(p,a) (p)->lpVtbl->GetCurFolder(p,a)
178 #define IPersistFolder2_METHODS \
179 /*** IUnknown methods ***/ \
180 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
181 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
182 STDMETHOD_(ULONG,Release)(THIS) PURE; \
183 /*** IPersist methods ***/ \
184 STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \
185 /*** IPersistFolder methods ***/ \
186 STDMETHOD_(HRESULT,Initialize)(THIS_ LPCITEMIDLIST pidl) PURE; \
187 /*** IPersistFolder2 methods ***/ \
188 STDMETHOD_(HRESULT,GetCurFolder)(THIS_ LPITEMIDLIST* ppidl) PURE;
190 HRESULT CALLBACK
IPersistFolder2_GetCurFolder_Proxy(
191 IPersistFolder2
* This
,
192 LPITEMIDLIST
* ppidl
);
193 void __RPC_STUB
IPersistFolder2_GetCurFolder_Stub(
194 struct IRpcStubBuffer
* This
,
195 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
196 PRPC_MESSAGE pRpcMessage
,
197 DWORD
* pdwStubPhase
);
199 #endif /* __IPersistFolder2_INTERFACE_DEFINED__ */
201 #ifndef __IEnumIDList_FWD_DEFINED__
202 #define __IEnumIDList_FWD_DEFINED__
203 typedef struct IEnumIDList IEnumIDList
;
206 typedef IEnumIDList
*LPENUMIDLIST
;
208 /*****************************************************************************
209 * IEnumIDList interface
211 #ifndef __IEnumIDList_INTERFACE_DEFINED__
212 #define __IEnumIDList_INTERFACE_DEFINED__
214 DEFINE_GUID(IID_IEnumIDList
, 0x000214f2, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
215 #if defined(__cplusplus) && !defined(CINTERFACE)
216 struct IEnumIDList
: public IUnknown
218 virtual HRESULT STDMETHODCALLTYPE
Next(
221 ULONG
* pceltFetched
) = 0;
223 virtual HRESULT STDMETHODCALLTYPE
Skip(
226 virtual HRESULT STDMETHODCALLTYPE
Reset(
229 virtual HRESULT STDMETHODCALLTYPE
Clone(
230 IEnumIDList
** ppenum
) = 0;
234 typedef struct IEnumIDListVtbl IEnumIDListVtbl
;
236 const IEnumIDListVtbl
* lpVtbl
;
238 struct IEnumIDListVtbl
{
241 /*** IUnknown methods ***/
242 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
247 ULONG (STDMETHODCALLTYPE
*AddRef
)(
250 ULONG (STDMETHODCALLTYPE
*Release
)(
253 /*** IEnumIDList methods ***/
254 HRESULT (STDMETHODCALLTYPE
*Next
)(
258 ULONG
* pceltFetched
);
260 HRESULT (STDMETHODCALLTYPE
*Skip
)(
264 HRESULT (STDMETHODCALLTYPE
*Reset
)(
267 HRESULT (STDMETHODCALLTYPE
*Clone
)(
269 IEnumIDList
** ppenum
);
275 /*** IUnknown methods ***/
276 #define IEnumIDList_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
277 #define IEnumIDList_AddRef(p) (p)->lpVtbl->AddRef(p)
278 #define IEnumIDList_Release(p) (p)->lpVtbl->Release(p)
279 /*** IEnumIDList methods ***/
280 #define IEnumIDList_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
281 #define IEnumIDList_Skip(p,a) (p)->lpVtbl->Skip(p,a)
282 #define IEnumIDList_Reset(p) (p)->lpVtbl->Reset(p)
283 #define IEnumIDList_Clone(p,a) (p)->lpVtbl->Clone(p,a)
288 #define IEnumIDList_METHODS \
289 /*** IUnknown methods ***/ \
290 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
291 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
292 STDMETHOD_(ULONG,Release)(THIS) PURE; \
293 /*** IEnumIDList methods ***/ \
294 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, LPITEMIDLIST* rgelt, ULONG* pceltFetched) PURE; \
295 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
296 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
297 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumIDList** ppenum) PURE;
299 HRESULT CALLBACK
IEnumIDList_Next_Proxy(
303 ULONG
* pceltFetched
);
304 void __RPC_STUB
IEnumIDList_Next_Stub(
305 struct IRpcStubBuffer
* This
,
306 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
307 PRPC_MESSAGE pRpcMessage
,
308 DWORD
* pdwStubPhase
);
309 HRESULT CALLBACK
IEnumIDList_Skip_Proxy(
312 void __RPC_STUB
IEnumIDList_Skip_Stub(
313 struct IRpcStubBuffer
* This
,
314 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
315 PRPC_MESSAGE pRpcMessage
,
316 DWORD
* pdwStubPhase
);
317 HRESULT CALLBACK
IEnumIDList_Reset_Proxy(
319 void __RPC_STUB
IEnumIDList_Reset_Stub(
320 struct IRpcStubBuffer
* This
,
321 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
322 PRPC_MESSAGE pRpcMessage
,
323 DWORD
* pdwStubPhase
);
324 HRESULT CALLBACK
IEnumIDList_Clone_Proxy(
326 IEnumIDList
** ppenum
);
327 void __RPC_STUB
IEnumIDList_Clone_Stub(
328 struct IRpcStubBuffer
* This
,
329 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
330 PRPC_MESSAGE pRpcMessage
,
331 DWORD
* pdwStubPhase
);
333 #endif /* __IEnumIDList_INTERFACE_DEFINED__ */
335 #ifndef __IShellFolder_FWD_DEFINED__
336 #define __IShellFolder_FWD_DEFINED__
337 typedef struct IShellFolder IShellFolder
;
340 typedef IShellFolder
*LPSHELLFOLDER
;
342 typedef enum tagSHGDN
{
345 SHGDN_FOREDITING
= 0x1000,
346 SHGDN_INCLUDE_NONFILESYS
= 0x2000,
347 SHGDN_FORADDRESSBAR
= 0x4000,
348 SHGDN_FORPARSING
= 0x8000
351 typedef DWORD SHGDNF
;
354 SHCONTF_FOLDERS
= 32,
355 SHCONTF_NONFOLDERS
= 64,
356 SHCONTF_INCLUDEHIDDEN
= 128,
357 SHCONTF_INIT_ON_FIRST_NEXT
= 256,
358 SHCONTF_NETPRINTERSRCH
= 512,
359 SHCONTF_SHAREABLE
= 1024,
360 SHCONTF_STORAGE
= 2048
363 typedef DWORD SHCONTF
;
365 #define SFGAO_CANCOPY DROPEFFECT_COPY
366 #define SFGAO_CANMOVE DROPEFFECT_MOVE
367 #define SFGAO_CANLINK DROPEFFECT_LINK
368 #define SFGAO_CANRENAME 0x00000010L
369 #define SFGAO_CANDELETE 0x00000020L
370 #define SFGAO_HASPROPSHEET 0x00000040L
371 #define SFGAO_DROPTARGET 0x00000100L
372 #define SFGAO_CAPABILITYMASK 0x00000177L
373 #define SFGAO_LINK 0x00010000L
374 #define SFGAO_SHARE 0x00020000L
375 #define SFGAO_READONLY 0x00040000L
376 #define SFGAO_GHOSTED 0x00080000L
377 #define SFGAO_HIDDEN 0x00080000L
378 #define SFGAO_DISPLAYATTRMASK 0x000F0000L
379 #define SFGAO_FILESYSANCESTOR 0x10000000L
380 #define SFGAO_FOLDER 0x20000000L
381 #define SFGAO_FILESYSTEM 0x40000000L
382 #define SFGAO_HASSUBFOLDER 0x80000000L
383 #define SFGAO_CONTENTSMASK 0x80000000L
384 #define SFGAO_VALIDATE 0x01000000L
385 #define SFGAO_REMOVABLE 0x02000000L
386 #define SFGAO_COMPRESSED 0x04000000L
387 #define SFGAO_BROWSABLE 0x08000000L
388 #define SFGAO_NONENUMERATED 0x00100000L
389 #define SFGAO_NEWCONTENT 0x00200000L
390 typedef ULONG SFGAOF
;
392 /*****************************************************************************
393 * IShellFolder interface
395 #ifndef __IShellFolder_INTERFACE_DEFINED__
396 #define __IShellFolder_INTERFACE_DEFINED__
398 DEFINE_GUID(IID_IShellFolder
, 0x000214e6, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
399 #if defined(__cplusplus) && !defined(CINTERFACE)
400 struct IShellFolder
: public IUnknown
402 virtual HRESULT STDMETHODCALLTYPE
ParseDisplayName(
405 LPOLESTR lpszDisplayName
,
408 ULONG
* pdwAttributes
) = 0;
410 virtual HRESULT STDMETHODCALLTYPE
EnumObjects(
413 IEnumIDList
** ppenumIDList
) = 0;
415 virtual HRESULT STDMETHODCALLTYPE
BindToObject(
421 virtual HRESULT STDMETHODCALLTYPE
BindToStorage(
427 virtual HRESULT STDMETHODCALLTYPE
CompareIDs(
430 LPCITEMIDLIST pidl2
) = 0;
432 virtual HRESULT STDMETHODCALLTYPE
CreateViewObject(
437 virtual HRESULT STDMETHODCALLTYPE
GetAttributesOf(
439 LPCITEMIDLIST
* apidl
,
440 SFGAOF
* rgfInOut
) = 0;
442 virtual HRESULT STDMETHODCALLTYPE
GetUIObjectOf(
445 LPCITEMIDLIST
* apidl
,
450 virtual HRESULT STDMETHODCALLTYPE
GetDisplayNameOf(
455 virtual HRESULT STDMETHODCALLTYPE
SetNameOf(
460 LPITEMIDLIST
* ppidlOut
) = 0;
464 typedef struct IShellFolderVtbl IShellFolderVtbl
;
465 struct IShellFolder
{
466 const IShellFolderVtbl
* lpVtbl
;
468 struct IShellFolderVtbl
{
471 /*** IUnknown methods ***/
472 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
477 ULONG (STDMETHODCALLTYPE
*AddRef
)(
480 ULONG (STDMETHODCALLTYPE
*Release
)(
483 /*** IShellFolder methods ***/
484 HRESULT (STDMETHODCALLTYPE
*ParseDisplayName
)(
488 LPOLESTR lpszDisplayName
,
491 ULONG
* pdwAttributes
);
493 HRESULT (STDMETHODCALLTYPE
*EnumObjects
)(
497 IEnumIDList
** ppenumIDList
);
499 HRESULT (STDMETHODCALLTYPE
*BindToObject
)(
506 HRESULT (STDMETHODCALLTYPE
*BindToStorage
)(
513 HRESULT (STDMETHODCALLTYPE
*CompareIDs
)(
517 LPCITEMIDLIST pidl2
);
519 HRESULT (STDMETHODCALLTYPE
*CreateViewObject
)(
525 HRESULT (STDMETHODCALLTYPE
*GetAttributesOf
)(
528 LPCITEMIDLIST
* apidl
,
531 HRESULT (STDMETHODCALLTYPE
*GetUIObjectOf
)(
535 LPCITEMIDLIST
* apidl
,
540 HRESULT (STDMETHODCALLTYPE
*GetDisplayNameOf
)(
546 HRESULT (STDMETHODCALLTYPE
*SetNameOf
)(
552 LPITEMIDLIST
* ppidlOut
);
558 /*** IUnknown methods ***/
559 #define IShellFolder_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
560 #define IShellFolder_AddRef(p) (p)->lpVtbl->AddRef(p)
561 #define IShellFolder_Release(p) (p)->lpVtbl->Release(p)
562 /*** IShellFolder methods ***/
563 #define IShellFolder_ParseDisplayName(p,a,b,c,d,e,f) (p)->lpVtbl->ParseDisplayName(p,a,b,c,d,e,f)
564 #define IShellFolder_EnumObjects(p,a,b,c) (p)->lpVtbl->EnumObjects(p,a,b,c)
565 #define IShellFolder_BindToObject(p,a,b,c,d) (p)->lpVtbl->BindToObject(p,a,b,c,d)
566 #define IShellFolder_BindToStorage(p,a,b,c,d) (p)->lpVtbl->BindToStorage(p,a,b,c,d)
567 #define IShellFolder_CompareIDs(p,a,b,c) (p)->lpVtbl->CompareIDs(p,a,b,c)
568 #define IShellFolder_CreateViewObject(p,a,b,c) (p)->lpVtbl->CreateViewObject(p,a,b,c)
569 #define IShellFolder_GetAttributesOf(p,a,b,c) (p)->lpVtbl->GetAttributesOf(p,a,b,c)
570 #define IShellFolder_GetUIObjectOf(p,a,b,c,d,e,f) (p)->lpVtbl->GetUIObjectOf(p,a,b,c,d,e,f)
571 #define IShellFolder_GetDisplayNameOf(p,a,b,c) (p)->lpVtbl->GetDisplayNameOf(p,a,b,c)
572 #define IShellFolder_SetNameOf(p,a,b,c,d,e) (p)->lpVtbl->SetNameOf(p,a,b,c,d,e)
577 #define IShellFolder_METHODS \
578 /*** IUnknown methods ***/ \
579 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
580 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
581 STDMETHOD_(ULONG,Release)(THIS) PURE; \
582 /*** IShellFolder methods ***/ \
583 STDMETHOD_(HRESULT,ParseDisplayName)(THIS_ HWND hwndOwner, LPBC pbcReserved, LPOLESTR lpszDisplayName, ULONG* pchEaten, LPITEMIDLIST* ppidl, ULONG* pdwAttributes) PURE; \
584 STDMETHOD_(HRESULT,EnumObjects)(THIS_ HWND hwndOwner, SHCONTF grfFlags, IEnumIDList** ppenumIDList) PURE; \
585 STDMETHOD_(HRESULT,BindToObject)(THIS_ LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, void** ppvOut) PURE; \
586 STDMETHOD_(HRESULT,BindToStorage)(THIS_ LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, void** ppvObj) PURE; \
587 STDMETHOD_(HRESULT,CompareIDs)(THIS_ LPARAM lParam, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2) PURE; \
588 STDMETHOD_(HRESULT,CreateViewObject)(THIS_ HWND hwndOwner, REFIID riid, void** ppvOut) PURE; \
589 STDMETHOD_(HRESULT,GetAttributesOf)(THIS_ UINT cidl, LPCITEMIDLIST* apidl, SFGAOF* rgfInOut) PURE; \
590 STDMETHOD_(HRESULT,GetUIObjectOf)(THIS_ HWND hwndOwner, UINT cidl, LPCITEMIDLIST* apidl, REFIID riid, UINT* prgfInOut, void** ppvOut) PURE; \
591 STDMETHOD_(HRESULT,GetDisplayNameOf)(THIS_ LPCITEMIDLIST pidl, SHGDNF uFlags, STRRET* lpName) PURE; \
592 STDMETHOD_(HRESULT,SetNameOf)(THIS_ HWND hwnd, LPCITEMIDLIST pidl, LPCOLESTR lpszName, SHGDNF uFlags, LPITEMIDLIST* ppidlOut) PURE;
594 HRESULT CALLBACK
IShellFolder_ParseDisplayName_Proxy(
598 LPOLESTR lpszDisplayName
,
601 ULONG
* pdwAttributes
);
602 void __RPC_STUB
IShellFolder_ParseDisplayName_Stub(
603 struct IRpcStubBuffer
* This
,
604 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
605 PRPC_MESSAGE pRpcMessage
,
606 DWORD
* pdwStubPhase
);
607 HRESULT CALLBACK
IShellFolder_EnumObjects_Proxy(
611 IEnumIDList
** ppenumIDList
);
612 void __RPC_STUB
IShellFolder_EnumObjects_Stub(
613 struct IRpcStubBuffer
* This
,
614 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
615 PRPC_MESSAGE pRpcMessage
,
616 DWORD
* pdwStubPhase
);
617 HRESULT CALLBACK
IShellFolder_BindToObject_Proxy(
623 void __RPC_STUB
IShellFolder_BindToObject_Stub(
624 struct IRpcStubBuffer
* This
,
625 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
626 PRPC_MESSAGE pRpcMessage
,
627 DWORD
* pdwStubPhase
);
628 HRESULT CALLBACK
IShellFolder_BindToStorage_Proxy(
634 void __RPC_STUB
IShellFolder_BindToStorage_Stub(
635 struct IRpcStubBuffer
* This
,
636 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
637 PRPC_MESSAGE pRpcMessage
,
638 DWORD
* pdwStubPhase
);
639 HRESULT CALLBACK
IShellFolder_CompareIDs_Proxy(
643 LPCITEMIDLIST pidl2
);
644 void __RPC_STUB
IShellFolder_CompareIDs_Stub(
645 struct IRpcStubBuffer
* This
,
646 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
647 PRPC_MESSAGE pRpcMessage
,
648 DWORD
* pdwStubPhase
);
649 HRESULT CALLBACK
IShellFolder_CreateViewObject_Proxy(
654 void __RPC_STUB
IShellFolder_CreateViewObject_Stub(
655 struct IRpcStubBuffer
* This
,
656 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
657 PRPC_MESSAGE pRpcMessage
,
658 DWORD
* pdwStubPhase
);
659 HRESULT CALLBACK
IShellFolder_GetAttributesOf_Proxy(
662 LPCITEMIDLIST
* apidl
,
664 void __RPC_STUB
IShellFolder_GetAttributesOf_Stub(
665 struct IRpcStubBuffer
* This
,
666 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
667 PRPC_MESSAGE pRpcMessage
,
668 DWORD
* pdwStubPhase
);
669 HRESULT CALLBACK
IShellFolder_GetUIObjectOf_Proxy(
673 LPCITEMIDLIST
* apidl
,
677 void __RPC_STUB
IShellFolder_GetUIObjectOf_Stub(
678 struct IRpcStubBuffer
* This
,
679 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
680 PRPC_MESSAGE pRpcMessage
,
681 DWORD
* pdwStubPhase
);
682 HRESULT CALLBACK
IShellFolder_GetDisplayNameOf_Proxy(
687 void __RPC_STUB
IShellFolder_GetDisplayNameOf_Stub(
688 struct IRpcStubBuffer
* This
,
689 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
690 PRPC_MESSAGE pRpcMessage
,
691 DWORD
* pdwStubPhase
);
692 HRESULT CALLBACK
IShellFolder_SetNameOf_Proxy(
698 LPITEMIDLIST
* ppidlOut
);
699 void __RPC_STUB
IShellFolder_SetNameOf_Stub(
700 struct IRpcStubBuffer
* This
,
701 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
702 PRPC_MESSAGE pRpcMessage
,
703 DWORD
* pdwStubPhase
);
705 #endif /* __IShellFolder_INTERFACE_DEFINED__ */
707 #ifndef __IEnumExtraSearch_FWD_DEFINED__
708 #define __IEnumExtraSearch_FWD_DEFINED__
709 typedef struct IEnumExtraSearch IEnumExtraSearch
;
712 typedef IEnumExtraSearch
*LPENUMEXTRASEARCH
;
716 WCHAR wszFriendlyName
[80];
718 } EXTRASEARCH
, *LPEXTRASEARCH
;
720 /*****************************************************************************
721 * IEnumExtraSearch interface
723 #ifndef __IEnumExtraSearch_INTERFACE_DEFINED__
724 #define __IEnumExtraSearch_INTERFACE_DEFINED__
726 DEFINE_GUID(IID_IEnumExtraSearch
, 0x0e700be1, 0x9db6, 0x11d1, 0xa1,0xce, 0x00,0xc0,0x4f,0xd7,0x5d,0x13);
727 #if defined(__cplusplus) && !defined(CINTERFACE)
728 struct IEnumExtraSearch
: public IUnknown
730 virtual HRESULT STDMETHODCALLTYPE
Next(
733 ULONG
* pceltFetched
) = 0;
735 virtual HRESULT STDMETHODCALLTYPE
Skip(
738 virtual HRESULT STDMETHODCALLTYPE
Reset(
741 virtual HRESULT STDMETHODCALLTYPE
Clone(
742 IEnumExtraSearch
** ppenum
) = 0;
746 typedef struct IEnumExtraSearchVtbl IEnumExtraSearchVtbl
;
747 struct IEnumExtraSearch
{
748 const IEnumExtraSearchVtbl
* lpVtbl
;
750 struct IEnumExtraSearchVtbl
{
753 /*** IUnknown methods ***/
754 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
755 IEnumExtraSearch
* This
,
759 ULONG (STDMETHODCALLTYPE
*AddRef
)(
760 IEnumExtraSearch
* This
);
762 ULONG (STDMETHODCALLTYPE
*Release
)(
763 IEnumExtraSearch
* This
);
765 /*** IEnumExtraSearch methods ***/
766 HRESULT (STDMETHODCALLTYPE
*Next
)(
767 IEnumExtraSearch
* This
,
770 ULONG
* pceltFetched
);
772 HRESULT (STDMETHODCALLTYPE
*Skip
)(
773 IEnumExtraSearch
* This
,
776 HRESULT (STDMETHODCALLTYPE
*Reset
)(
777 IEnumExtraSearch
* This
);
779 HRESULT (STDMETHODCALLTYPE
*Clone
)(
780 IEnumExtraSearch
* This
,
781 IEnumExtraSearch
** ppenum
);
787 /*** IUnknown methods ***/
788 #define IEnumExtraSearch_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
789 #define IEnumExtraSearch_AddRef(p) (p)->lpVtbl->AddRef(p)
790 #define IEnumExtraSearch_Release(p) (p)->lpVtbl->Release(p)
791 /*** IEnumExtraSearch methods ***/
792 #define IEnumExtraSearch_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
793 #define IEnumExtraSearch_Skip(p,a) (p)->lpVtbl->Skip(p,a)
794 #define IEnumExtraSearch_Reset(p) (p)->lpVtbl->Reset(p)
795 #define IEnumExtraSearch_Clone(p,a) (p)->lpVtbl->Clone(p,a)
800 #define IEnumExtraSearch_METHODS \
801 /*** IUnknown methods ***/ \
802 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
803 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
804 STDMETHOD_(ULONG,Release)(THIS) PURE; \
805 /*** IEnumExtraSearch methods ***/ \
806 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, EXTRASEARCH* rgelt, ULONG* pceltFetched) PURE; \
807 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
808 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
809 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumExtraSearch** ppenum) PURE;
811 HRESULT CALLBACK
IEnumExtraSearch_Next_Proxy(
812 IEnumExtraSearch
* This
,
815 ULONG
* pceltFetched
);
816 void __RPC_STUB
IEnumExtraSearch_Next_Stub(
817 struct IRpcStubBuffer
* This
,
818 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
819 PRPC_MESSAGE pRpcMessage
,
820 DWORD
* pdwStubPhase
);
821 HRESULT CALLBACK
IEnumExtraSearch_Skip_Proxy(
822 IEnumExtraSearch
* This
,
824 void __RPC_STUB
IEnumExtraSearch_Skip_Stub(
825 struct IRpcStubBuffer
* This
,
826 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
827 PRPC_MESSAGE pRpcMessage
,
828 DWORD
* pdwStubPhase
);
829 HRESULT CALLBACK
IEnumExtraSearch_Reset_Proxy(
830 IEnumExtraSearch
* This
);
831 void __RPC_STUB
IEnumExtraSearch_Reset_Stub(
832 struct IRpcStubBuffer
* This
,
833 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
834 PRPC_MESSAGE pRpcMessage
,
835 DWORD
* pdwStubPhase
);
836 HRESULT CALLBACK
IEnumExtraSearch_Clone_Proxy(
837 IEnumExtraSearch
* This
,
838 IEnumExtraSearch
** ppenum
);
839 void __RPC_STUB
IEnumExtraSearch_Clone_Stub(
840 struct IRpcStubBuffer
* This
,
841 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
842 PRPC_MESSAGE pRpcMessage
,
843 DWORD
* pdwStubPhase
);
845 #endif /* __IEnumExtraSearch_INTERFACE_DEFINED__ */
847 #ifndef __IShellFolder2_FWD_DEFINED__
848 #define __IShellFolder2_FWD_DEFINED__
849 typedef struct IShellFolder2 IShellFolder2
;
853 SHCOLSTATE_TYPE_STR
= 0x1,
854 SHCOLSTATE_TYPE_INT
= 0x2,
855 SHCOLSTATE_TYPE_DATE
= 0x3,
856 SHCOLSTATE_TYPEMASK
= 0xf,
857 SHCOLSTATE_ONBYDEFAULT
= 0x10,
858 SHCOLSTATE_SLOW
= 0x20,
859 SHCOLSTATE_EXTENDED
= 0x40,
860 SHCOLSTATE_SECONDARYUI
= 0x80,
861 SHCOLSTATE_HIDDEN
= 0x100,
862 SHCOLSTATE_PREFER_VARCMP
= 0x200
865 typedef DWORD SHCOLSTATEF
;
870 } SHCOLUMNID
, *LPSHCOLUMNID
;
872 typedef const SHCOLUMNID
*LPCSHCOLUMNID
;
874 /*****************************************************************************
875 * IShellFolder2 interface
877 #ifndef __IShellFolder2_INTERFACE_DEFINED__
878 #define __IShellFolder2_INTERFACE_DEFINED__
880 DEFINE_GUID(IID_IShellFolder2
, 0x93f2f68c, 0x1d1b, 0x11d3, 0xa3,0x0e, 0x00,0xc0,0x4f,0x79,0xab,0xd1);
881 #if defined(__cplusplus) && !defined(CINTERFACE)
882 struct IShellFolder2
: public IShellFolder
884 virtual HRESULT STDMETHODCALLTYPE
GetDefaultSearchGUID(
887 virtual HRESULT STDMETHODCALLTYPE
EnumSearches(
888 IEnumExtraSearch
** ppenum
) = 0;
890 virtual HRESULT STDMETHODCALLTYPE
GetDefaultColumn(
893 ULONG
* pDisplay
) = 0;
895 virtual HRESULT STDMETHODCALLTYPE
GetDefaultColumnState(
897 SHCOLSTATEF
* pcsFlags
) = 0;
899 virtual HRESULT STDMETHODCALLTYPE
GetDetailsEx(
901 const SHCOLUMNID
* pscid
,
904 virtual HRESULT STDMETHODCALLTYPE
GetDetailsOf(
907 SHELLDETAILS
* psd
) = 0;
909 virtual HRESULT STDMETHODCALLTYPE
MapColumnToSCID(
911 SHCOLUMNID
* pscid
) = 0;
915 typedef struct IShellFolder2Vtbl IShellFolder2Vtbl
;
916 struct IShellFolder2
{
917 const IShellFolder2Vtbl
* lpVtbl
;
919 struct IShellFolder2Vtbl
{
922 /*** IUnknown methods ***/
923 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
928 ULONG (STDMETHODCALLTYPE
*AddRef
)(
929 IShellFolder2
* This
);
931 ULONG (STDMETHODCALLTYPE
*Release
)(
932 IShellFolder2
* This
);
934 /*** IShellFolder methods ***/
935 HRESULT (STDMETHODCALLTYPE
*ParseDisplayName
)(
939 LPOLESTR lpszDisplayName
,
942 ULONG
* pdwAttributes
);
944 HRESULT (STDMETHODCALLTYPE
*EnumObjects
)(
948 IEnumIDList
** ppenumIDList
);
950 HRESULT (STDMETHODCALLTYPE
*BindToObject
)(
957 HRESULT (STDMETHODCALLTYPE
*BindToStorage
)(
964 HRESULT (STDMETHODCALLTYPE
*CompareIDs
)(
968 LPCITEMIDLIST pidl2
);
970 HRESULT (STDMETHODCALLTYPE
*CreateViewObject
)(
976 HRESULT (STDMETHODCALLTYPE
*GetAttributesOf
)(
979 LPCITEMIDLIST
* apidl
,
982 HRESULT (STDMETHODCALLTYPE
*GetUIObjectOf
)(
986 LPCITEMIDLIST
* apidl
,
991 HRESULT (STDMETHODCALLTYPE
*GetDisplayNameOf
)(
997 HRESULT (STDMETHODCALLTYPE
*SetNameOf
)(
1003 LPITEMIDLIST
* ppidlOut
);
1005 /*** IShellFolder2 methods ***/
1006 HRESULT (STDMETHODCALLTYPE
*GetDefaultSearchGUID
)(
1007 IShellFolder2
* This
,
1010 HRESULT (STDMETHODCALLTYPE
*EnumSearches
)(
1011 IShellFolder2
* This
,
1012 IEnumExtraSearch
** ppenum
);
1014 HRESULT (STDMETHODCALLTYPE
*GetDefaultColumn
)(
1015 IShellFolder2
* This
,
1020 HRESULT (STDMETHODCALLTYPE
*GetDefaultColumnState
)(
1021 IShellFolder2
* This
,
1023 SHCOLSTATEF
* pcsFlags
);
1025 HRESULT (STDMETHODCALLTYPE
*GetDetailsEx
)(
1026 IShellFolder2
* This
,
1028 const SHCOLUMNID
* pscid
,
1031 HRESULT (STDMETHODCALLTYPE
*GetDetailsOf
)(
1032 IShellFolder2
* This
,
1037 HRESULT (STDMETHODCALLTYPE
*MapColumnToSCID
)(
1038 IShellFolder2
* This
,
1046 /*** IUnknown methods ***/
1047 #define IShellFolder2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1048 #define IShellFolder2_AddRef(p) (p)->lpVtbl->AddRef(p)
1049 #define IShellFolder2_Release(p) (p)->lpVtbl->Release(p)
1050 /*** IShellFolder methods ***/
1051 #define IShellFolder2_ParseDisplayName(p,a,b,c,d,e,f) (p)->lpVtbl->ParseDisplayName(p,a,b,c,d,e,f)
1052 #define IShellFolder2_EnumObjects(p,a,b,c) (p)->lpVtbl->EnumObjects(p,a,b,c)
1053 #define IShellFolder2_BindToObject(p,a,b,c,d) (p)->lpVtbl->BindToObject(p,a,b,c,d)
1054 #define IShellFolder2_BindToStorage(p,a,b,c,d) (p)->lpVtbl->BindToStorage(p,a,b,c,d)
1055 #define IShellFolder2_CompareIDs(p,a,b,c) (p)->lpVtbl->CompareIDs(p,a,b,c)
1056 #define IShellFolder2_CreateViewObject(p,a,b,c) (p)->lpVtbl->CreateViewObject(p,a,b,c)
1057 #define IShellFolder2_GetAttributesOf(p,a,b,c) (p)->lpVtbl->GetAttributesOf(p,a,b,c)
1058 #define IShellFolder2_GetUIObjectOf(p,a,b,c,d,e,f) (p)->lpVtbl->GetUIObjectOf(p,a,b,c,d,e,f)
1059 #define IShellFolder2_GetDisplayNameOf(p,a,b,c) (p)->lpVtbl->GetDisplayNameOf(p,a,b,c)
1060 #define IShellFolder2_SetNameOf(p,a,b,c,d,e) (p)->lpVtbl->SetNameOf(p,a,b,c,d,e)
1061 /*** IShellFolder2 methods ***/
1062 #define IShellFolder2_GetDefaultSearchGUID(p,a) (p)->lpVtbl->GetDefaultSearchGUID(p,a)
1063 #define IShellFolder2_EnumSearches(p,a) (p)->lpVtbl->EnumSearches(p,a)
1064 #define IShellFolder2_GetDefaultColumn(p,a,b,c) (p)->lpVtbl->GetDefaultColumn(p,a,b,c)
1065 #define IShellFolder2_GetDefaultColumnState(p,a,b) (p)->lpVtbl->GetDefaultColumnState(p,a,b)
1066 #define IShellFolder2_GetDetailsEx(p,a,b,c) (p)->lpVtbl->GetDetailsEx(p,a,b,c)
1067 #define IShellFolder2_GetDetailsOf(p,a,b,c) (p)->lpVtbl->GetDetailsOf(p,a,b,c)
1068 #define IShellFolder2_MapColumnToSCID(p,a,b) (p)->lpVtbl->MapColumnToSCID(p,a,b)
1073 #define IShellFolder2_METHODS \
1074 /*** IUnknown methods ***/ \
1075 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1076 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1077 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1078 /*** IShellFolder methods ***/ \
1079 STDMETHOD_(HRESULT,ParseDisplayName)(THIS_ HWND hwndOwner, LPBC pbcReserved, LPOLESTR lpszDisplayName, ULONG* pchEaten, LPITEMIDLIST* ppidl, ULONG* pdwAttributes) PURE; \
1080 STDMETHOD_(HRESULT,EnumObjects)(THIS_ HWND hwndOwner, SHCONTF grfFlags, IEnumIDList** ppenumIDList) PURE; \
1081 STDMETHOD_(HRESULT,BindToObject)(THIS_ LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, void** ppvOut) PURE; \
1082 STDMETHOD_(HRESULT,BindToStorage)(THIS_ LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, void** ppvObj) PURE; \
1083 STDMETHOD_(HRESULT,CompareIDs)(THIS_ LPARAM lParam, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2) PURE; \
1084 STDMETHOD_(HRESULT,CreateViewObject)(THIS_ HWND hwndOwner, REFIID riid, void** ppvOut) PURE; \
1085 STDMETHOD_(HRESULT,GetAttributesOf)(THIS_ UINT cidl, LPCITEMIDLIST* apidl, SFGAOF* rgfInOut) PURE; \
1086 STDMETHOD_(HRESULT,GetUIObjectOf)(THIS_ HWND hwndOwner, UINT cidl, LPCITEMIDLIST* apidl, REFIID riid, UINT* prgfInOut, void** ppvOut) PURE; \
1087 STDMETHOD_(HRESULT,GetDisplayNameOf)(THIS_ LPCITEMIDLIST pidl, SHGDNF uFlags, STRRET* lpName) PURE; \
1088 STDMETHOD_(HRESULT,SetNameOf)(THIS_ HWND hwnd, LPCITEMIDLIST pidl, LPCOLESTR lpszName, SHGDNF uFlags, LPITEMIDLIST* ppidlOut) PURE; \
1089 /*** IShellFolder2 methods ***/ \
1090 STDMETHOD_(HRESULT,GetDefaultSearchGUID)(THIS_ GUID* lpguid) PURE; \
1091 STDMETHOD_(HRESULT,EnumSearches)(THIS_ IEnumExtraSearch** ppenum) PURE; \
1092 STDMETHOD_(HRESULT,GetDefaultColumn)(THIS_ DWORD dwReserved, ULONG* pSort, ULONG* pDisplay) PURE; \
1093 STDMETHOD_(HRESULT,GetDefaultColumnState)(THIS_ UINT iColumn, SHCOLSTATEF* pcsFlags) PURE; \
1094 STDMETHOD_(HRESULT,GetDetailsEx)(THIS_ LPCITEMIDLIST pidl, const SHCOLUMNID* pscid, VARIANT* pv) PURE; \
1095 STDMETHOD_(HRESULT,GetDetailsOf)(THIS_ LPCITEMIDLIST pidl, UINT iColumn, SHELLDETAILS* psd) PURE; \
1096 STDMETHOD_(HRESULT,MapColumnToSCID)(THIS_ UINT iColumn, SHCOLUMNID* pscid) PURE;
1098 HRESULT CALLBACK
IShellFolder2_GetDefaultSearchGUID_Proxy(
1099 IShellFolder2
* This
,
1101 void __RPC_STUB
IShellFolder2_GetDefaultSearchGUID_Stub(
1102 struct IRpcStubBuffer
* This
,
1103 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1104 PRPC_MESSAGE pRpcMessage
,
1105 DWORD
* pdwStubPhase
);
1106 HRESULT CALLBACK
IShellFolder2_EnumSearches_Proxy(
1107 IShellFolder2
* This
,
1108 IEnumExtraSearch
** ppenum
);
1109 void __RPC_STUB
IShellFolder2_EnumSearches_Stub(
1110 struct IRpcStubBuffer
* This
,
1111 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1112 PRPC_MESSAGE pRpcMessage
,
1113 DWORD
* pdwStubPhase
);
1114 HRESULT CALLBACK
IShellFolder2_GetDefaultColumn_Proxy(
1115 IShellFolder2
* This
,
1119 void __RPC_STUB
IShellFolder2_GetDefaultColumn_Stub(
1120 struct IRpcStubBuffer
* This
,
1121 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1122 PRPC_MESSAGE pRpcMessage
,
1123 DWORD
* pdwStubPhase
);
1124 HRESULT CALLBACK
IShellFolder2_GetDefaultColumnState_Proxy(
1125 IShellFolder2
* This
,
1127 SHCOLSTATEF
* pcsFlags
);
1128 void __RPC_STUB
IShellFolder2_GetDefaultColumnState_Stub(
1129 struct IRpcStubBuffer
* This
,
1130 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1131 PRPC_MESSAGE pRpcMessage
,
1132 DWORD
* pdwStubPhase
);
1133 HRESULT CALLBACK
IShellFolder2_GetDetailsEx_Proxy(
1134 IShellFolder2
* This
,
1136 const SHCOLUMNID
* pscid
,
1138 void __RPC_STUB
IShellFolder2_GetDetailsEx_Stub(
1139 struct IRpcStubBuffer
* This
,
1140 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1141 PRPC_MESSAGE pRpcMessage
,
1142 DWORD
* pdwStubPhase
);
1143 HRESULT CALLBACK
IShellFolder2_GetDetailsOf_Proxy(
1144 IShellFolder2
* This
,
1148 void __RPC_STUB
IShellFolder2_GetDetailsOf_Stub(
1149 struct IRpcStubBuffer
* This
,
1150 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1151 PRPC_MESSAGE pRpcMessage
,
1152 DWORD
* pdwStubPhase
);
1153 HRESULT CALLBACK
IShellFolder2_MapColumnToSCID_Proxy(
1154 IShellFolder2
* This
,
1157 void __RPC_STUB
IShellFolder2_MapColumnToSCID_Stub(
1158 struct IRpcStubBuffer
* This
,
1159 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1160 PRPC_MESSAGE pRpcMessage
,
1161 DWORD
* pdwStubPhase
);
1163 #endif /* __IShellFolder2_INTERFACE_DEFINED__ */
1165 typedef char *LPVIEWSETTINGS
;
1168 FWF_AUTOARRANGE
= 0x1,
1169 FWF_ABBREVIATEDNAMES
= 0x2,
1170 FWF_SNAPTOGRID
= 0x4,
1171 FWF_OWNERDATA
= 0x8,
1172 FWF_BESTFITWINDOW
= 0x10,
1174 FWF_SINGLESEL
= 0x40,
1175 FWF_NOSUBFOLDERS
= 0x80,
1176 FWF_TRANSPARENT
= 0x100,
1177 FWF_NOCLIENTEDGE
= 0x200,
1178 FWF_NOSCROLL
= 0x400,
1179 FWF_ALIGNLEFT
= 0x800,
1180 FWF_NOICONS
= 0x1000,
1181 FWF_SHOWSELALWAYS
= 0x2000,
1182 FWF_NOVISIBLE
= 0x4000,
1183 FWF_SINGLECLICKACTIVATE
= 0x8000,
1184 FWF_NOWEBVIEW
= 0x10000,
1185 FWF_HIDEFILENAMES
= 0x20000,
1186 FWF_CHECKSELECT
= 0x40000
1191 FVM_FIRST
= FVM_ICON
,
1198 FVM_LAST
= FVM_THUMBSTRIP
1204 } FOLDERSETTINGS
, *PFOLDERSETTINGS
, *LPFOLDERSETTINGS
;
1206 typedef const FOLDERSETTINGS
*LPCFOLDERSETTINGS
;
1208 #ifndef __IShellBrowser_FWD_DEFINED__
1209 #define __IShellBrowser_FWD_DEFINED__
1210 typedef struct IShellBrowser IShellBrowser
;
1213 #ifndef __IShellView_FWD_DEFINED__
1214 #define __IShellView_FWD_DEFINED__
1215 typedef struct IShellView IShellView
;
1218 typedef IShellView
*LPSHELLVIEW
;
1220 #define SVSI_DESELECT 0x00000000
1221 #define SVSI_SELECT 0x00000001
1222 #define SVSI_EDIT 0x00000003
1223 #define SVSI_DESELECTOTHERS 0x00000004
1224 #define SVSI_ENSUREVISIBLE 0x00000008
1225 #define SVSI_FOCUSED 0x00000010
1226 #define SVSI_TRANSLATEPT 0x00000020
1227 #define SVSI_SELECTIONMARK 0x00000040
1228 #define SVSI_POSITIONITEM 0x00000080
1229 #define SVSI_CHECK 0x00000100
1230 #define SVSI_NOSTATECHANGE 0x80000000
1234 SVGIO_BACKGROUND
= 0x0,
1235 SVGIO_SELECTION
= 0x1,
1236 SVGIO_ALLVIEW
= 0x2,
1237 SVGIO_CHECKED
= 0x3,
1238 SVGIO_TYPE_MASK
= 0xf,
1239 SVGIO_FLAG_VIEWORDER
= 0x80000000
1243 SVUIA_DEACTIVATE
= 0,
1244 SVUIA_ACTIVATE_NOFOCUS
= 1,
1245 SVUIA_ACTIVATE_FOCUS
= 2,
1246 SVUIA_INPLACEACTIVATE
= 3
1250 typedef LPARAM LPFNSVADDPROPSHEETPAGE
;
1254 typedef LPFNADDPROPSHEETPAGE LPFNSVADDPROPSHEETPAGE
;
1256 /*****************************************************************************
1257 * IShellView interface
1259 #ifndef __IShellView_INTERFACE_DEFINED__
1260 #define __IShellView_INTERFACE_DEFINED__
1262 DEFINE_GUID(IID_IShellView
, 0x000214e3, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1263 #if defined(__cplusplus) && !defined(CINTERFACE)
1264 struct IShellView
: public IOleWindow
1266 virtual HRESULT STDMETHODCALLTYPE
TranslateAccelerator(
1269 virtual HRESULT STDMETHODCALLTYPE
EnableModeless(
1272 virtual HRESULT STDMETHODCALLTYPE
UIActivate(
1275 virtual HRESULT STDMETHODCALLTYPE
Refresh(
1278 virtual HRESULT STDMETHODCALLTYPE
CreateViewWindow(
1279 IShellView
* psvPrevious
,
1280 LPCFOLDERSETTINGS lpfs
,
1285 virtual HRESULT STDMETHODCALLTYPE
DestroyViewWindow(
1288 virtual HRESULT STDMETHODCALLTYPE
GetCurrentInfo(
1289 LPFOLDERSETTINGS lpfs
) = 0;
1291 virtual HRESULT STDMETHODCALLTYPE
AddPropertySheetPages(
1293 LPFNSVADDPROPSHEETPAGE pfn
,
1296 virtual HRESULT STDMETHODCALLTYPE
SaveViewState(
1299 virtual HRESULT STDMETHODCALLTYPE
SelectItem(
1300 LPCITEMIDLIST pidlItem
,
1303 virtual HRESULT STDMETHODCALLTYPE
GetItemObject(
1310 typedef struct IShellViewVtbl IShellViewVtbl
;
1312 const IShellViewVtbl
* lpVtbl
;
1314 struct IShellViewVtbl
{
1317 /*** IUnknown methods ***/
1318 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
1323 ULONG (STDMETHODCALLTYPE
*AddRef
)(
1326 ULONG (STDMETHODCALLTYPE
*Release
)(
1329 /*** IOleWindow methods ***/
1330 HRESULT (STDMETHODCALLTYPE
*GetWindow
)(
1334 HRESULT (STDMETHODCALLTYPE
*ContextSensitiveHelp
)(
1338 /*** IShellView methods ***/
1339 HRESULT (STDMETHODCALLTYPE
*TranslateAccelerator
)(
1343 HRESULT (STDMETHODCALLTYPE
*EnableModeless
)(
1347 HRESULT (STDMETHODCALLTYPE
*UIActivate
)(
1351 HRESULT (STDMETHODCALLTYPE
*Refresh
)(
1354 HRESULT (STDMETHODCALLTYPE
*CreateViewWindow
)(
1356 IShellView
* psvPrevious
,
1357 LPCFOLDERSETTINGS lpfs
,
1362 HRESULT (STDMETHODCALLTYPE
*DestroyViewWindow
)(
1365 HRESULT (STDMETHODCALLTYPE
*GetCurrentInfo
)(
1367 LPFOLDERSETTINGS lpfs
);
1369 HRESULT (STDMETHODCALLTYPE
*AddPropertySheetPages
)(
1372 LPFNSVADDPROPSHEETPAGE pfn
,
1375 HRESULT (STDMETHODCALLTYPE
*SaveViewState
)(
1378 HRESULT (STDMETHODCALLTYPE
*SelectItem
)(
1380 LPCITEMIDLIST pidlItem
,
1383 HRESULT (STDMETHODCALLTYPE
*GetItemObject
)(
1393 /*** IUnknown methods ***/
1394 #define IShellView_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1395 #define IShellView_AddRef(p) (p)->lpVtbl->AddRef(p)
1396 #define IShellView_Release(p) (p)->lpVtbl->Release(p)
1397 /*** IOleWindow methods ***/
1398 #define IShellView_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
1399 #define IShellView_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
1400 /*** IShellView methods ***/
1401 #define IShellView_TranslateAccelerator(p,a) (p)->lpVtbl->TranslateAccelerator(p,a)
1402 #define IShellView_EnableModeless(p,a) (p)->lpVtbl->EnableModeless(p,a)
1403 #define IShellView_UIActivate(p,a) (p)->lpVtbl->UIActivate(p,a)
1404 #define IShellView_Refresh(p) (p)->lpVtbl->Refresh(p)
1405 #define IShellView_CreateViewWindow(p,a,b,c,d,e) (p)->lpVtbl->CreateViewWindow(p,a,b,c,d,e)
1406 #define IShellView_DestroyViewWindow(p) (p)->lpVtbl->DestroyViewWindow(p)
1407 #define IShellView_GetCurrentInfo(p,a) (p)->lpVtbl->GetCurrentInfo(p,a)
1408 #define IShellView_AddPropertySheetPages(p,a,b,c) (p)->lpVtbl->AddPropertySheetPages(p,a,b,c)
1409 #define IShellView_SaveViewState(p) (p)->lpVtbl->SaveViewState(p)
1410 #define IShellView_SelectItem(p,a,b) (p)->lpVtbl->SelectItem(p,a,b)
1411 #define IShellView_GetItemObject(p,a,b,c) (p)->lpVtbl->GetItemObject(p,a,b,c)
1416 #define IShellView_METHODS \
1417 /*** IUnknown methods ***/ \
1418 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1419 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1420 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1421 /*** IOleWindow methods ***/ \
1422 STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND* phwnd) PURE; \
1423 STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE; \
1424 /*** IShellView methods ***/ \
1425 STDMETHOD_(HRESULT,TranslateAccelerator)(THIS_ MSG* pmsg) PURE; \
1426 STDMETHOD_(HRESULT,EnableModeless)(THIS_ BOOL fEnable) PURE; \
1427 STDMETHOD_(HRESULT,UIActivate)(THIS_ UINT uState) PURE; \
1428 STDMETHOD_(HRESULT,Refresh)(THIS) PURE; \
1429 STDMETHOD_(HRESULT,CreateViewWindow)(THIS_ IShellView* psvPrevious, LPCFOLDERSETTINGS lpfs, IShellBrowser* psb, RECT* prcView, HWND* phWnd) PURE; \
1430 STDMETHOD_(HRESULT,DestroyViewWindow)(THIS) PURE; \
1431 STDMETHOD_(HRESULT,GetCurrentInfo)(THIS_ LPFOLDERSETTINGS lpfs) PURE; \
1432 STDMETHOD_(HRESULT,AddPropertySheetPages)(THIS_ DWORD dwReserved, LPFNSVADDPROPSHEETPAGE pfn, LPARAM lparam) PURE; \
1433 STDMETHOD_(HRESULT,SaveViewState)(THIS) PURE; \
1434 STDMETHOD_(HRESULT,SelectItem)(THIS_ LPCITEMIDLIST pidlItem, SVSIF uFlags) PURE; \
1435 STDMETHOD_(HRESULT,GetItemObject)(THIS_ UINT uItem, REFIID riid, void** ppv) PURE;
1437 HRESULT CALLBACK
IShellView_TranslateAccelerator_Proxy(
1440 void __RPC_STUB
IShellView_TranslateAccelerator_Stub(
1441 struct IRpcStubBuffer
* This
,
1442 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1443 PRPC_MESSAGE pRpcMessage
,
1444 DWORD
* pdwStubPhase
);
1445 HRESULT CALLBACK
IShellView_EnableModeless_Proxy(
1448 void __RPC_STUB
IShellView_EnableModeless_Stub(
1449 struct IRpcStubBuffer
* This
,
1450 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1451 PRPC_MESSAGE pRpcMessage
,
1452 DWORD
* pdwStubPhase
);
1453 HRESULT CALLBACK
IShellView_UIActivate_Proxy(
1456 void __RPC_STUB
IShellView_UIActivate_Stub(
1457 struct IRpcStubBuffer
* This
,
1458 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1459 PRPC_MESSAGE pRpcMessage
,
1460 DWORD
* pdwStubPhase
);
1461 HRESULT CALLBACK
IShellView_Refresh_Proxy(
1463 void __RPC_STUB
IShellView_Refresh_Stub(
1464 struct IRpcStubBuffer
* This
,
1465 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1466 PRPC_MESSAGE pRpcMessage
,
1467 DWORD
* pdwStubPhase
);
1468 HRESULT CALLBACK
IShellView_CreateViewWindow_Proxy(
1470 IShellView
* psvPrevious
,
1471 LPCFOLDERSETTINGS lpfs
,
1475 void __RPC_STUB
IShellView_CreateViewWindow_Stub(
1476 struct IRpcStubBuffer
* This
,
1477 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1478 PRPC_MESSAGE pRpcMessage
,
1479 DWORD
* pdwStubPhase
);
1480 HRESULT CALLBACK
IShellView_DestroyViewWindow_Proxy(
1482 void __RPC_STUB
IShellView_DestroyViewWindow_Stub(
1483 struct IRpcStubBuffer
* This
,
1484 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1485 PRPC_MESSAGE pRpcMessage
,
1486 DWORD
* pdwStubPhase
);
1487 HRESULT CALLBACK
IShellView_GetCurrentInfo_Proxy(
1489 LPFOLDERSETTINGS lpfs
);
1490 void __RPC_STUB
IShellView_GetCurrentInfo_Stub(
1491 struct IRpcStubBuffer
* This
,
1492 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1493 PRPC_MESSAGE pRpcMessage
,
1494 DWORD
* pdwStubPhase
);
1495 HRESULT CALLBACK
IShellView_SaveViewState_Proxy(
1497 void __RPC_STUB
IShellView_SaveViewState_Stub(
1498 struct IRpcStubBuffer
* This
,
1499 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1500 PRPC_MESSAGE pRpcMessage
,
1501 DWORD
* pdwStubPhase
);
1502 HRESULT CALLBACK
IShellView_SelectItem_Proxy(
1504 LPCITEMIDLIST pidlItem
,
1506 void __RPC_STUB
IShellView_SelectItem_Stub(
1507 struct IRpcStubBuffer
* This
,
1508 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1509 PRPC_MESSAGE pRpcMessage
,
1510 DWORD
* pdwStubPhase
);
1511 HRESULT CALLBACK
IShellView_GetItemObject_Proxy(
1516 void __RPC_STUB
IShellView_GetItemObject_Stub(
1517 struct IRpcStubBuffer
* This
,
1518 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1519 PRPC_MESSAGE pRpcMessage
,
1520 DWORD
* pdwStubPhase
);
1522 #endif /* __IShellView_INTERFACE_DEFINED__ */
1524 typedef IShellBrowser
*LPSHELLBROWSER
;
1526 #define SBSP_DEFBROWSER 0x00000000
1527 #define SBSP_SAMEBROWSER 0x00000001
1528 #define SBSP_NEWBROWSER 0x00000002
1529 #define SBSP_DEFMODE 0x00000000
1530 #define SBSP_OPENMODE 0x00000010
1531 #define SBSP_EXPLOREMODE 0x00000020
1532 #define SBSP_HELPMODE 0x00000040
1533 #define SBSP_NOTRANSFERHIST 0x00000080
1534 #define SBSP_ABSOLUTE 0x00000000
1535 #define SBSP_RELATIVE 0x00001000
1536 #define SBSP_PARENT 0x00002000
1537 #define SBSP_NAVIGATEBACK 0x00004000
1538 #define SBSP_NAVIGATEFORWARD 0x00008000
1539 #define SBSP_ALLOW_AUTONAVIGATE 0x00010000
1540 #define SBSP_NOAUTOSELECT 0x04000000
1541 #define SBSP_WRITENOHISTORY 0x08000000
1542 #define SBSP_REDIRECT 0x40000000
1543 #define SBSP_INITIATEDBYHLINKFRAME 0x80000000
1544 #define FCW_STATUS 0x0001
1545 #define FCW_TOOLBAR 0x0002
1546 #define FCW_TREE 0x0003
1547 #define FCW_INTERNETBAR 0x0006
1548 #define FCW_PROGRESS 0x0008
1549 #define FCT_MERGE 0x0001
1550 #define FCT_CONFIGABLE 0x0002
1551 #define FCT_ADDTOEND 0x0004
1553 typedef LPARAM LPTBBUTTONSB
;
1556 #include <commctrl.h>
1557 typedef LPTBBUTTON LPTBBUTTONSB
;
1559 /*****************************************************************************
1560 * IShellBrowser interface
1562 #ifndef __IShellBrowser_INTERFACE_DEFINED__
1563 #define __IShellBrowser_INTERFACE_DEFINED__
1565 DEFINE_GUID(IID_IShellBrowser
, 0x000214e2, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1566 #if defined(__cplusplus) && !defined(CINTERFACE)
1567 struct IShellBrowser
: public IOleWindow
1569 virtual HRESULT STDMETHODCALLTYPE
InsertMenusSB(
1571 LPOLEMENUGROUPWIDTHS lpMenuWidths
) = 0;
1573 virtual HRESULT STDMETHODCALLTYPE
SetMenuSB(
1575 HOLEMENU holemenuReserved
,
1576 HWND hwndActiveObject
) = 0;
1578 virtual HRESULT STDMETHODCALLTYPE
RemoveMenusSB(
1579 HMENU hmenuShared
) = 0;
1581 virtual HRESULT STDMETHODCALLTYPE
SetStatusTextSB(
1582 LPCOLESTR pszStatusText
) = 0;
1584 virtual HRESULT STDMETHODCALLTYPE
EnableModelessSB(
1587 virtual HRESULT STDMETHODCALLTYPE
TranslateAcceleratorSB(
1591 virtual HRESULT STDMETHODCALLTYPE
BrowseObject(
1595 virtual HRESULT STDMETHODCALLTYPE
GetViewStateStream(
1597 IStream
** ppStrm
) = 0;
1599 virtual HRESULT STDMETHODCALLTYPE
GetControlWindow(
1603 virtual HRESULT STDMETHODCALLTYPE
SendControlMsg(
1610 virtual HRESULT STDMETHODCALLTYPE
QueryActiveShellView(
1611 IShellView
** ppshv
) = 0;
1613 virtual HRESULT STDMETHODCALLTYPE
OnViewWindowActive(
1614 IShellView
* pshv
) = 0;
1616 virtual HRESULT STDMETHODCALLTYPE
SetToolbarItems(
1617 LPTBBUTTONSB lpButtons
,
1623 typedef struct IShellBrowserVtbl IShellBrowserVtbl
;
1624 struct IShellBrowser
{
1625 const IShellBrowserVtbl
* lpVtbl
;
1627 struct IShellBrowserVtbl
{
1630 /*** IUnknown methods ***/
1631 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
1632 IShellBrowser
* This
,
1636 ULONG (STDMETHODCALLTYPE
*AddRef
)(
1637 IShellBrowser
* This
);
1639 ULONG (STDMETHODCALLTYPE
*Release
)(
1640 IShellBrowser
* This
);
1642 /*** IOleWindow methods ***/
1643 HRESULT (STDMETHODCALLTYPE
*GetWindow
)(
1644 IShellBrowser
* This
,
1647 HRESULT (STDMETHODCALLTYPE
*ContextSensitiveHelp
)(
1648 IShellBrowser
* This
,
1651 /*** IShellBrowser methods ***/
1652 HRESULT (STDMETHODCALLTYPE
*InsertMenusSB
)(
1653 IShellBrowser
* This
,
1655 LPOLEMENUGROUPWIDTHS lpMenuWidths
);
1657 HRESULT (STDMETHODCALLTYPE
*SetMenuSB
)(
1658 IShellBrowser
* This
,
1660 HOLEMENU holemenuReserved
,
1661 HWND hwndActiveObject
);
1663 HRESULT (STDMETHODCALLTYPE
*RemoveMenusSB
)(
1664 IShellBrowser
* This
,
1667 HRESULT (STDMETHODCALLTYPE
*SetStatusTextSB
)(
1668 IShellBrowser
* This
,
1669 LPCOLESTR pszStatusText
);
1671 HRESULT (STDMETHODCALLTYPE
*EnableModelessSB
)(
1672 IShellBrowser
* This
,
1675 HRESULT (STDMETHODCALLTYPE
*TranslateAcceleratorSB
)(
1676 IShellBrowser
* This
,
1680 HRESULT (STDMETHODCALLTYPE
*BrowseObject
)(
1681 IShellBrowser
* This
,
1685 HRESULT (STDMETHODCALLTYPE
*GetViewStateStream
)(
1686 IShellBrowser
* This
,
1690 HRESULT (STDMETHODCALLTYPE
*GetControlWindow
)(
1691 IShellBrowser
* This
,
1695 HRESULT (STDMETHODCALLTYPE
*SendControlMsg
)(
1696 IShellBrowser
* This
,
1703 HRESULT (STDMETHODCALLTYPE
*QueryActiveShellView
)(
1704 IShellBrowser
* This
,
1705 IShellView
** ppshv
);
1707 HRESULT (STDMETHODCALLTYPE
*OnViewWindowActive
)(
1708 IShellBrowser
* This
,
1711 HRESULT (STDMETHODCALLTYPE
*SetToolbarItems
)(
1712 IShellBrowser
* This
,
1713 LPTBBUTTONSB lpButtons
,
1721 /*** IUnknown methods ***/
1722 #define IShellBrowser_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1723 #define IShellBrowser_AddRef(p) (p)->lpVtbl->AddRef(p)
1724 #define IShellBrowser_Release(p) (p)->lpVtbl->Release(p)
1725 /*** IOleWindow methods ***/
1726 #define IShellBrowser_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
1727 #define IShellBrowser_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
1728 /*** IShellBrowser methods ***/
1729 #define IShellBrowser_InsertMenusSB(p,a,b) (p)->lpVtbl->InsertMenusSB(p,a,b)
1730 #define IShellBrowser_SetMenuSB(p,a,b,c) (p)->lpVtbl->SetMenuSB(p,a,b,c)
1731 #define IShellBrowser_RemoveMenusSB(p,a) (p)->lpVtbl->RemoveMenusSB(p,a)
1732 #define IShellBrowser_SetStatusTextSB(p,a) (p)->lpVtbl->SetStatusTextSB(p,a)
1733 #define IShellBrowser_EnableModelessSB(p,a) (p)->lpVtbl->EnableModelessSB(p,a)
1734 #define IShellBrowser_TranslateAcceleratorSB(p,a,b) (p)->lpVtbl->TranslateAcceleratorSB(p,a,b)
1735 #define IShellBrowser_BrowseObject(p,a,b) (p)->lpVtbl->BrowseObject(p,a,b)
1736 #define IShellBrowser_GetViewStateStream(p,a,b) (p)->lpVtbl->GetViewStateStream(p,a,b)
1737 #define IShellBrowser_GetControlWindow(p,a,b) (p)->lpVtbl->GetControlWindow(p,a,b)
1738 #define IShellBrowser_SendControlMsg(p,a,b,c,d,e) (p)->lpVtbl->SendControlMsg(p,a,b,c,d,e)
1739 #define IShellBrowser_QueryActiveShellView(p,a) (p)->lpVtbl->QueryActiveShellView(p,a)
1740 #define IShellBrowser_OnViewWindowActive(p,a) (p)->lpVtbl->OnViewWindowActive(p,a)
1741 #define IShellBrowser_SetToolbarItems(p,a,b,c) (p)->lpVtbl->SetToolbarItems(p,a,b,c)
1746 #define IShellBrowser_METHODS \
1747 /*** IUnknown methods ***/ \
1748 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1749 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1750 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1751 /*** IOleWindow methods ***/ \
1752 STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND* phwnd) PURE; \
1753 STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE; \
1754 /*** IShellBrowser methods ***/ \
1755 STDMETHOD_(HRESULT,InsertMenusSB)(THIS_ HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths) PURE; \
1756 STDMETHOD_(HRESULT,SetMenuSB)(THIS_ HMENU hmenuShared, HOLEMENU holemenuReserved, HWND hwndActiveObject) PURE; \
1757 STDMETHOD_(HRESULT,RemoveMenusSB)(THIS_ HMENU hmenuShared) PURE; \
1758 STDMETHOD_(HRESULT,SetStatusTextSB)(THIS_ LPCOLESTR pszStatusText) PURE; \
1759 STDMETHOD_(HRESULT,EnableModelessSB)(THIS_ BOOL fEnable) PURE; \
1760 STDMETHOD_(HRESULT,TranslateAcceleratorSB)(THIS_ MSG* pmsg, WORD wID) PURE; \
1761 STDMETHOD_(HRESULT,BrowseObject)(THIS_ LPCITEMIDLIST pidl, UINT wFlags) PURE; \
1762 STDMETHOD_(HRESULT,GetViewStateStream)(THIS_ DWORD grfMode, IStream** ppStrm) PURE; \
1763 STDMETHOD_(HRESULT,GetControlWindow)(THIS_ UINT id, HWND* phwnd) PURE; \
1764 STDMETHOD_(HRESULT,SendControlMsg)(THIS_ UINT id, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT* pret) PURE; \
1765 STDMETHOD_(HRESULT,QueryActiveShellView)(THIS_ IShellView** ppshv) PURE; \
1766 STDMETHOD_(HRESULT,OnViewWindowActive)(THIS_ IShellView* pshv) PURE; \
1767 STDMETHOD_(HRESULT,SetToolbarItems)(THIS_ LPTBBUTTONSB lpButtons, UINT nButtons, UINT uFlags) PURE;
1769 HRESULT CALLBACK
IShellBrowser_InsertMenusSB_Proxy(
1770 IShellBrowser
* This
,
1772 LPOLEMENUGROUPWIDTHS lpMenuWidths
);
1773 void __RPC_STUB
IShellBrowser_InsertMenusSB_Stub(
1774 struct IRpcStubBuffer
* This
,
1775 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1776 PRPC_MESSAGE pRpcMessage
,
1777 DWORD
* pdwStubPhase
);
1778 HRESULT CALLBACK
IShellBrowser_SetMenuSB_Proxy(
1779 IShellBrowser
* This
,
1781 HOLEMENU holemenuReserved
,
1782 HWND hwndActiveObject
);
1783 void __RPC_STUB
IShellBrowser_SetMenuSB_Stub(
1784 struct IRpcStubBuffer
* This
,
1785 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1786 PRPC_MESSAGE pRpcMessage
,
1787 DWORD
* pdwStubPhase
);
1788 HRESULT CALLBACK
IShellBrowser_RemoveMenusSB_Proxy(
1789 IShellBrowser
* This
,
1791 void __RPC_STUB
IShellBrowser_RemoveMenusSB_Stub(
1792 struct IRpcStubBuffer
* This
,
1793 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1794 PRPC_MESSAGE pRpcMessage
,
1795 DWORD
* pdwStubPhase
);
1796 HRESULT CALLBACK
IShellBrowser_SetStatusTextSB_Proxy(
1797 IShellBrowser
* This
,
1798 LPCOLESTR pszStatusText
);
1799 void __RPC_STUB
IShellBrowser_SetStatusTextSB_Stub(
1800 struct IRpcStubBuffer
* This
,
1801 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1802 PRPC_MESSAGE pRpcMessage
,
1803 DWORD
* pdwStubPhase
);
1804 HRESULT CALLBACK
IShellBrowser_EnableModelessSB_Proxy(
1805 IShellBrowser
* This
,
1807 void __RPC_STUB
IShellBrowser_EnableModelessSB_Stub(
1808 struct IRpcStubBuffer
* This
,
1809 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1810 PRPC_MESSAGE pRpcMessage
,
1811 DWORD
* pdwStubPhase
);
1812 HRESULT CALLBACK
IShellBrowser_TranslateAcceleratorSB_Proxy(
1813 IShellBrowser
* This
,
1816 void __RPC_STUB
IShellBrowser_TranslateAcceleratorSB_Stub(
1817 struct IRpcStubBuffer
* This
,
1818 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1819 PRPC_MESSAGE pRpcMessage
,
1820 DWORD
* pdwStubPhase
);
1821 HRESULT CALLBACK
IShellBrowser_BrowseObject_Proxy(
1822 IShellBrowser
* This
,
1825 void __RPC_STUB
IShellBrowser_BrowseObject_Stub(
1826 struct IRpcStubBuffer
* This
,
1827 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1828 PRPC_MESSAGE pRpcMessage
,
1829 DWORD
* pdwStubPhase
);
1830 HRESULT CALLBACK
IShellBrowser_GetViewStateStream_Proxy(
1831 IShellBrowser
* This
,
1834 void __RPC_STUB
IShellBrowser_GetViewStateStream_Stub(
1835 struct IRpcStubBuffer
* This
,
1836 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1837 PRPC_MESSAGE pRpcMessage
,
1838 DWORD
* pdwStubPhase
);
1839 HRESULT CALLBACK
IShellBrowser_GetControlWindow_Proxy(
1840 IShellBrowser
* This
,
1843 void __RPC_STUB
IShellBrowser_GetControlWindow_Stub(
1844 struct IRpcStubBuffer
* This
,
1845 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1846 PRPC_MESSAGE pRpcMessage
,
1847 DWORD
* pdwStubPhase
);
1848 HRESULT CALLBACK
IShellBrowser_QueryActiveShellView_Proxy(
1849 IShellBrowser
* This
,
1850 IShellView
** ppshv
);
1851 void __RPC_STUB
IShellBrowser_QueryActiveShellView_Stub(
1852 struct IRpcStubBuffer
* This
,
1853 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1854 PRPC_MESSAGE pRpcMessage
,
1855 DWORD
* pdwStubPhase
);
1856 HRESULT CALLBACK
IShellBrowser_OnViewWindowActive_Proxy(
1857 IShellBrowser
* This
,
1859 void __RPC_STUB
IShellBrowser_OnViewWindowActive_Stub(
1860 struct IRpcStubBuffer
* This
,
1861 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1862 PRPC_MESSAGE pRpcMessage
,
1863 DWORD
* pdwStubPhase
);
1865 #endif /* __IShellBrowser_INTERFACE_DEFINED__ */
1867 #ifndef __IShellLinkA_FWD_DEFINED__
1868 #define __IShellLinkA_FWD_DEFINED__
1869 typedef struct IShellLinkA IShellLinkA
;
1874 SLR_ANY_MATCH
= 0x2,
1877 SLR_NOSEARCH
= 0x10,
1879 SLR_NOLINKINFO
= 0x40,
1880 SLR_INVOKE_MSI
= 0x80,
1881 SLR_NO_UI_WITH_MSG_PUMP
= 0x101
1885 SLGP_SHORTPATH
= 0x1,
1886 SLGP_UNCPRIORITY
= 0x2,
1890 /*****************************************************************************
1891 * IShellLinkA interface
1893 #ifndef __IShellLinkA_INTERFACE_DEFINED__
1894 #define __IShellLinkA_INTERFACE_DEFINED__
1896 DEFINE_GUID(IID_IShellLinkA
, 0x000214ee, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1897 #if defined(__cplusplus) && !defined(CINTERFACE)
1898 struct IShellLinkA
: public IUnknown
1900 virtual HRESULT STDMETHODCALLTYPE
GetPath(
1903 WIN32_FIND_DATAA
* pfd
,
1906 virtual HRESULT STDMETHODCALLTYPE
GetIDList(
1907 LPITEMIDLIST
* ppidl
) = 0;
1909 virtual HRESULT STDMETHODCALLTYPE
SetIDList(
1910 LPCITEMIDLIST pidl
) = 0;
1912 virtual HRESULT STDMETHODCALLTYPE
GetDescription(
1916 virtual HRESULT STDMETHODCALLTYPE
SetDescription(
1917 LPCSTR pszName
) = 0;
1919 virtual HRESULT STDMETHODCALLTYPE
GetWorkingDirectory(
1923 virtual HRESULT STDMETHODCALLTYPE
SetWorkingDirectory(
1926 virtual HRESULT STDMETHODCALLTYPE
GetArguments(
1930 virtual HRESULT STDMETHODCALLTYPE
SetArguments(
1931 LPCSTR pszArgs
) = 0;
1933 virtual HRESULT STDMETHODCALLTYPE
GetHotkey(
1934 WORD
* pwHotkey
) = 0;
1936 virtual HRESULT STDMETHODCALLTYPE
SetHotkey(
1939 virtual HRESULT STDMETHODCALLTYPE
GetShowCmd(
1940 int* piShowCmd
) = 0;
1942 virtual HRESULT STDMETHODCALLTYPE
SetShowCmd(
1945 virtual HRESULT STDMETHODCALLTYPE
GetIconLocation(
1950 virtual HRESULT STDMETHODCALLTYPE
SetIconLocation(
1954 virtual HRESULT STDMETHODCALLTYPE
SetRelativePath(
1956 DWORD dwReserved
) = 0;
1958 virtual HRESULT STDMETHODCALLTYPE
Resolve(
1962 virtual HRESULT STDMETHODCALLTYPE
SetPath(
1963 LPCSTR pszFile
) = 0;
1967 typedef struct IShellLinkAVtbl IShellLinkAVtbl
;
1968 struct IShellLinkA
{
1969 const IShellLinkAVtbl
* lpVtbl
;
1971 struct IShellLinkAVtbl
{
1974 /*** IUnknown methods ***/
1975 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
1980 ULONG (STDMETHODCALLTYPE
*AddRef
)(
1983 ULONG (STDMETHODCALLTYPE
*Release
)(
1986 /*** IShellLinkA methods ***/
1987 HRESULT (STDMETHODCALLTYPE
*GetPath
)(
1991 WIN32_FIND_DATAA
* pfd
,
1994 HRESULT (STDMETHODCALLTYPE
*GetIDList
)(
1996 LPITEMIDLIST
* ppidl
);
1998 HRESULT (STDMETHODCALLTYPE
*SetIDList
)(
2000 LPCITEMIDLIST pidl
);
2002 HRESULT (STDMETHODCALLTYPE
*GetDescription
)(
2007 HRESULT (STDMETHODCALLTYPE
*SetDescription
)(
2011 HRESULT (STDMETHODCALLTYPE
*GetWorkingDirectory
)(
2016 HRESULT (STDMETHODCALLTYPE
*SetWorkingDirectory
)(
2020 HRESULT (STDMETHODCALLTYPE
*GetArguments
)(
2025 HRESULT (STDMETHODCALLTYPE
*SetArguments
)(
2029 HRESULT (STDMETHODCALLTYPE
*GetHotkey
)(
2033 HRESULT (STDMETHODCALLTYPE
*SetHotkey
)(
2037 HRESULT (STDMETHODCALLTYPE
*GetShowCmd
)(
2041 HRESULT (STDMETHODCALLTYPE
*SetShowCmd
)(
2045 HRESULT (STDMETHODCALLTYPE
*GetIconLocation
)(
2051 HRESULT (STDMETHODCALLTYPE
*SetIconLocation
)(
2056 HRESULT (STDMETHODCALLTYPE
*SetRelativePath
)(
2061 HRESULT (STDMETHODCALLTYPE
*Resolve
)(
2066 HRESULT (STDMETHODCALLTYPE
*SetPath
)(
2074 /*** IUnknown methods ***/
2075 #define IShellLinkA_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2076 #define IShellLinkA_AddRef(p) (p)->lpVtbl->AddRef(p)
2077 #define IShellLinkA_Release(p) (p)->lpVtbl->Release(p)
2078 /*** IShellLinkA methods ***/
2079 #define IShellLinkA_GetPath(p,a,b,c,d) (p)->lpVtbl->GetPath(p,a,b,c,d)
2080 #define IShellLinkA_GetIDList(p,a) (p)->lpVtbl->GetIDList(p,a)
2081 #define IShellLinkA_SetIDList(p,a) (p)->lpVtbl->SetIDList(p,a)
2082 #define IShellLinkA_GetDescription(p,a,b) (p)->lpVtbl->GetDescription(p,a,b)
2083 #define IShellLinkA_SetDescription(p,a) (p)->lpVtbl->SetDescription(p,a)
2084 #define IShellLinkA_GetWorkingDirectory(p,a,b) (p)->lpVtbl->GetWorkingDirectory(p,a,b)
2085 #define IShellLinkA_SetWorkingDirectory(p,a) (p)->lpVtbl->SetWorkingDirectory(p,a)
2086 #define IShellLinkA_GetArguments(p,a,b) (p)->lpVtbl->GetArguments(p,a,b)
2087 #define IShellLinkA_SetArguments(p,a) (p)->lpVtbl->SetArguments(p,a)
2088 #define IShellLinkA_GetHotkey(p,a) (p)->lpVtbl->GetHotkey(p,a)
2089 #define IShellLinkA_SetHotkey(p,a) (p)->lpVtbl->SetHotkey(p,a)
2090 #define IShellLinkA_GetShowCmd(p,a) (p)->lpVtbl->GetShowCmd(p,a)
2091 #define IShellLinkA_SetShowCmd(p,a) (p)->lpVtbl->SetShowCmd(p,a)
2092 #define IShellLinkA_GetIconLocation(p,a,b,c) (p)->lpVtbl->GetIconLocation(p,a,b,c)
2093 #define IShellLinkA_SetIconLocation(p,a,b) (p)->lpVtbl->SetIconLocation(p,a,b)
2094 #define IShellLinkA_SetRelativePath(p,a,b) (p)->lpVtbl->SetRelativePath(p,a,b)
2095 #define IShellLinkA_Resolve(p,a,b) (p)->lpVtbl->Resolve(p,a,b)
2096 #define IShellLinkA_SetPath(p,a) (p)->lpVtbl->SetPath(p,a)
2101 #define IShellLinkA_METHODS \
2102 /*** IUnknown methods ***/ \
2103 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2104 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2105 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2106 /*** IShellLinkA methods ***/ \
2107 STDMETHOD_(HRESULT,GetPath)(THIS_ LPSTR pszFile, int cch, WIN32_FIND_DATAA* pfd, DWORD fFlags) PURE; \
2108 STDMETHOD_(HRESULT,GetIDList)(THIS_ LPITEMIDLIST* ppidl) PURE; \
2109 STDMETHOD_(HRESULT,SetIDList)(THIS_ LPCITEMIDLIST pidl) PURE; \
2110 STDMETHOD_(HRESULT,GetDescription)(THIS_ LPSTR pszName, int cch) PURE; \
2111 STDMETHOD_(HRESULT,SetDescription)(THIS_ LPCSTR pszName) PURE; \
2112 STDMETHOD_(HRESULT,GetWorkingDirectory)(THIS_ LPSTR pszDir, int cch) PURE; \
2113 STDMETHOD_(HRESULT,SetWorkingDirectory)(THIS_ LPCSTR pszDir) PURE; \
2114 STDMETHOD_(HRESULT,GetArguments)(THIS_ LPSTR pszArgs, int cch) PURE; \
2115 STDMETHOD_(HRESULT,SetArguments)(THIS_ LPCSTR pszArgs) PURE; \
2116 STDMETHOD_(HRESULT,GetHotkey)(THIS_ WORD* pwHotkey) PURE; \
2117 STDMETHOD_(HRESULT,SetHotkey)(THIS_ WORD wHotkey) PURE; \
2118 STDMETHOD_(HRESULT,GetShowCmd)(THIS_ int* piShowCmd) PURE; \
2119 STDMETHOD_(HRESULT,SetShowCmd)(THIS_ int iShowCmd) PURE; \
2120 STDMETHOD_(HRESULT,GetIconLocation)(THIS_ LPSTR pszIconPath, int cch, int* piIcon) PURE; \
2121 STDMETHOD_(HRESULT,SetIconLocation)(THIS_ LPCSTR pszIconPath, int iIcon) PURE; \
2122 STDMETHOD_(HRESULT,SetRelativePath)(THIS_ LPCSTR pszPathRel, DWORD dwReserved) PURE; \
2123 STDMETHOD_(HRESULT,Resolve)(THIS_ HWND hwnd, DWORD fFlags) PURE; \
2124 STDMETHOD_(HRESULT,SetPath)(THIS_ LPCSTR pszFile) PURE;
2126 HRESULT CALLBACK
IShellLinkA_GetPath_Proxy(
2130 WIN32_FIND_DATAA
* pfd
,
2132 void __RPC_STUB
IShellLinkA_GetPath_Stub(
2133 struct IRpcStubBuffer
* This
,
2134 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2135 PRPC_MESSAGE pRpcMessage
,
2136 DWORD
* pdwStubPhase
);
2137 HRESULT CALLBACK
IShellLinkA_GetIDList_Proxy(
2139 LPITEMIDLIST
* ppidl
);
2140 void __RPC_STUB
IShellLinkA_GetIDList_Stub(
2141 struct IRpcStubBuffer
* This
,
2142 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2143 PRPC_MESSAGE pRpcMessage
,
2144 DWORD
* pdwStubPhase
);
2145 HRESULT CALLBACK
IShellLinkA_SetIDList_Proxy(
2147 LPCITEMIDLIST pidl
);
2148 void __RPC_STUB
IShellLinkA_SetIDList_Stub(
2149 struct IRpcStubBuffer
* This
,
2150 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2151 PRPC_MESSAGE pRpcMessage
,
2152 DWORD
* pdwStubPhase
);
2153 HRESULT CALLBACK
IShellLinkA_GetDescription_Proxy(
2157 void __RPC_STUB
IShellLinkA_GetDescription_Stub(
2158 struct IRpcStubBuffer
* This
,
2159 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2160 PRPC_MESSAGE pRpcMessage
,
2161 DWORD
* pdwStubPhase
);
2162 HRESULT CALLBACK
IShellLinkA_SetDescription_Proxy(
2165 void __RPC_STUB
IShellLinkA_SetDescription_Stub(
2166 struct IRpcStubBuffer
* This
,
2167 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2168 PRPC_MESSAGE pRpcMessage
,
2169 DWORD
* pdwStubPhase
);
2170 HRESULT CALLBACK
IShellLinkA_GetWorkingDirectory_Proxy(
2174 void __RPC_STUB
IShellLinkA_GetWorkingDirectory_Stub(
2175 struct IRpcStubBuffer
* This
,
2176 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2177 PRPC_MESSAGE pRpcMessage
,
2178 DWORD
* pdwStubPhase
);
2179 HRESULT CALLBACK
IShellLinkA_SetWorkingDirectory_Proxy(
2182 void __RPC_STUB
IShellLinkA_SetWorkingDirectory_Stub(
2183 struct IRpcStubBuffer
* This
,
2184 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2185 PRPC_MESSAGE pRpcMessage
,
2186 DWORD
* pdwStubPhase
);
2187 HRESULT CALLBACK
IShellLinkA_GetArguments_Proxy(
2191 void __RPC_STUB
IShellLinkA_GetArguments_Stub(
2192 struct IRpcStubBuffer
* This
,
2193 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2194 PRPC_MESSAGE pRpcMessage
,
2195 DWORD
* pdwStubPhase
);
2196 HRESULT CALLBACK
IShellLinkA_SetArguments_Proxy(
2199 void __RPC_STUB
IShellLinkA_SetArguments_Stub(
2200 struct IRpcStubBuffer
* This
,
2201 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2202 PRPC_MESSAGE pRpcMessage
,
2203 DWORD
* pdwStubPhase
);
2204 HRESULT CALLBACK
IShellLinkA_GetHotkey_Proxy(
2207 void __RPC_STUB
IShellLinkA_GetHotkey_Stub(
2208 struct IRpcStubBuffer
* This
,
2209 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2210 PRPC_MESSAGE pRpcMessage
,
2211 DWORD
* pdwStubPhase
);
2212 HRESULT CALLBACK
IShellLinkA_SetHotkey_Proxy(
2215 void __RPC_STUB
IShellLinkA_SetHotkey_Stub(
2216 struct IRpcStubBuffer
* This
,
2217 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2218 PRPC_MESSAGE pRpcMessage
,
2219 DWORD
* pdwStubPhase
);
2220 HRESULT CALLBACK
IShellLinkA_GetShowCmd_Proxy(
2223 void __RPC_STUB
IShellLinkA_GetShowCmd_Stub(
2224 struct IRpcStubBuffer
* This
,
2225 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2226 PRPC_MESSAGE pRpcMessage
,
2227 DWORD
* pdwStubPhase
);
2228 HRESULT CALLBACK
IShellLinkA_SetShowCmd_Proxy(
2231 void __RPC_STUB
IShellLinkA_SetShowCmd_Stub(
2232 struct IRpcStubBuffer
* This
,
2233 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2234 PRPC_MESSAGE pRpcMessage
,
2235 DWORD
* pdwStubPhase
);
2236 HRESULT CALLBACK
IShellLinkA_GetIconLocation_Proxy(
2241 void __RPC_STUB
IShellLinkA_GetIconLocation_Stub(
2242 struct IRpcStubBuffer
* This
,
2243 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2244 PRPC_MESSAGE pRpcMessage
,
2245 DWORD
* pdwStubPhase
);
2246 HRESULT CALLBACK
IShellLinkA_SetIconLocation_Proxy(
2250 void __RPC_STUB
IShellLinkA_SetIconLocation_Stub(
2251 struct IRpcStubBuffer
* This
,
2252 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2253 PRPC_MESSAGE pRpcMessage
,
2254 DWORD
* pdwStubPhase
);
2255 HRESULT CALLBACK
IShellLinkA_SetRelativePath_Proxy(
2259 void __RPC_STUB
IShellLinkA_SetRelativePath_Stub(
2260 struct IRpcStubBuffer
* This
,
2261 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2262 PRPC_MESSAGE pRpcMessage
,
2263 DWORD
* pdwStubPhase
);
2264 HRESULT CALLBACK
IShellLinkA_Resolve_Proxy(
2268 void __RPC_STUB
IShellLinkA_Resolve_Stub(
2269 struct IRpcStubBuffer
* This
,
2270 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2271 PRPC_MESSAGE pRpcMessage
,
2272 DWORD
* pdwStubPhase
);
2273 HRESULT CALLBACK
IShellLinkA_SetPath_Proxy(
2276 void __RPC_STUB
IShellLinkA_SetPath_Stub(
2277 struct IRpcStubBuffer
* This
,
2278 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2279 PRPC_MESSAGE pRpcMessage
,
2280 DWORD
* pdwStubPhase
);
2282 #endif /* __IShellLinkA_INTERFACE_DEFINED__ */
2284 #ifndef __IShellLinkW_FWD_DEFINED__
2285 #define __IShellLinkW_FWD_DEFINED__
2286 typedef struct IShellLinkW IShellLinkW
;
2289 /*****************************************************************************
2290 * IShellLinkW interface
2292 #ifndef __IShellLinkW_INTERFACE_DEFINED__
2293 #define __IShellLinkW_INTERFACE_DEFINED__
2295 DEFINE_GUID(IID_IShellLinkW
, 0x000214f9, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2296 #if defined(__cplusplus) && !defined(CINTERFACE)
2297 struct IShellLinkW
: public IUnknown
2299 virtual HRESULT STDMETHODCALLTYPE
GetPath(
2302 WIN32_FIND_DATAW
* pfd
,
2305 virtual HRESULT STDMETHODCALLTYPE
GetIDList(
2306 LPITEMIDLIST
* ppidl
) = 0;
2308 virtual HRESULT STDMETHODCALLTYPE
SetIDList(
2309 LPCITEMIDLIST pidl
) = 0;
2311 virtual HRESULT STDMETHODCALLTYPE
GetDescription(
2315 virtual HRESULT STDMETHODCALLTYPE
SetDescription(
2316 LPCWSTR pszName
) = 0;
2318 virtual HRESULT STDMETHODCALLTYPE
GetWorkingDirectory(
2322 virtual HRESULT STDMETHODCALLTYPE
SetWorkingDirectory(
2323 LPCWSTR pszDir
) = 0;
2325 virtual HRESULT STDMETHODCALLTYPE
GetArguments(
2329 virtual HRESULT STDMETHODCALLTYPE
SetArguments(
2330 LPCWSTR pszArgs
) = 0;
2332 virtual HRESULT STDMETHODCALLTYPE
GetHotkey(
2333 WORD
* pwHotkey
) = 0;
2335 virtual HRESULT STDMETHODCALLTYPE
SetHotkey(
2338 virtual HRESULT STDMETHODCALLTYPE
GetShowCmd(
2339 int* piShowCmd
) = 0;
2341 virtual HRESULT STDMETHODCALLTYPE
SetShowCmd(
2344 virtual HRESULT STDMETHODCALLTYPE
GetIconLocation(
2349 virtual HRESULT STDMETHODCALLTYPE
SetIconLocation(
2350 LPCWSTR pszIconPath
,
2353 virtual HRESULT STDMETHODCALLTYPE
SetRelativePath(
2355 DWORD dwReserved
) = 0;
2357 virtual HRESULT STDMETHODCALLTYPE
Resolve(
2361 virtual HRESULT STDMETHODCALLTYPE
SetPath(
2362 LPCWSTR pszFile
) = 0;
2366 typedef struct IShellLinkWVtbl IShellLinkWVtbl
;
2367 struct IShellLinkW
{
2368 const IShellLinkWVtbl
* lpVtbl
;
2370 struct IShellLinkWVtbl
{
2373 /*** IUnknown methods ***/
2374 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
2379 ULONG (STDMETHODCALLTYPE
*AddRef
)(
2382 ULONG (STDMETHODCALLTYPE
*Release
)(
2385 /*** IShellLinkW methods ***/
2386 HRESULT (STDMETHODCALLTYPE
*GetPath
)(
2390 WIN32_FIND_DATAW
* pfd
,
2393 HRESULT (STDMETHODCALLTYPE
*GetIDList
)(
2395 LPITEMIDLIST
* ppidl
);
2397 HRESULT (STDMETHODCALLTYPE
*SetIDList
)(
2399 LPCITEMIDLIST pidl
);
2401 HRESULT (STDMETHODCALLTYPE
*GetDescription
)(
2406 HRESULT (STDMETHODCALLTYPE
*SetDescription
)(
2410 HRESULT (STDMETHODCALLTYPE
*GetWorkingDirectory
)(
2415 HRESULT (STDMETHODCALLTYPE
*SetWorkingDirectory
)(
2419 HRESULT (STDMETHODCALLTYPE
*GetArguments
)(
2424 HRESULT (STDMETHODCALLTYPE
*SetArguments
)(
2428 HRESULT (STDMETHODCALLTYPE
*GetHotkey
)(
2432 HRESULT (STDMETHODCALLTYPE
*SetHotkey
)(
2436 HRESULT (STDMETHODCALLTYPE
*GetShowCmd
)(
2440 HRESULT (STDMETHODCALLTYPE
*SetShowCmd
)(
2444 HRESULT (STDMETHODCALLTYPE
*GetIconLocation
)(
2450 HRESULT (STDMETHODCALLTYPE
*SetIconLocation
)(
2452 LPCWSTR pszIconPath
,
2455 HRESULT (STDMETHODCALLTYPE
*SetRelativePath
)(
2460 HRESULT (STDMETHODCALLTYPE
*Resolve
)(
2465 HRESULT (STDMETHODCALLTYPE
*SetPath
)(
2473 /*** IUnknown methods ***/
2474 #define IShellLinkW_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2475 #define IShellLinkW_AddRef(p) (p)->lpVtbl->AddRef(p)
2476 #define IShellLinkW_Release(p) (p)->lpVtbl->Release(p)
2477 /*** IShellLinkW methods ***/
2478 #define IShellLinkW_GetPath(p,a,b,c,d) (p)->lpVtbl->GetPath(p,a,b,c,d)
2479 #define IShellLinkW_GetIDList(p,a) (p)->lpVtbl->GetIDList(p,a)
2480 #define IShellLinkW_SetIDList(p,a) (p)->lpVtbl->SetIDList(p,a)
2481 #define IShellLinkW_GetDescription(p,a,b) (p)->lpVtbl->GetDescription(p,a,b)
2482 #define IShellLinkW_SetDescription(p,a) (p)->lpVtbl->SetDescription(p,a)
2483 #define IShellLinkW_GetWorkingDirectory(p,a,b) (p)->lpVtbl->GetWorkingDirectory(p,a,b)
2484 #define IShellLinkW_SetWorkingDirectory(p,a) (p)->lpVtbl->SetWorkingDirectory(p,a)
2485 #define IShellLinkW_GetArguments(p,a,b) (p)->lpVtbl->GetArguments(p,a,b)
2486 #define IShellLinkW_SetArguments(p,a) (p)->lpVtbl->SetArguments(p,a)
2487 #define IShellLinkW_GetHotkey(p,a) (p)->lpVtbl->GetHotkey(p,a)
2488 #define IShellLinkW_SetHotkey(p,a) (p)->lpVtbl->SetHotkey(p,a)
2489 #define IShellLinkW_GetShowCmd(p,a) (p)->lpVtbl->GetShowCmd(p,a)
2490 #define IShellLinkW_SetShowCmd(p,a) (p)->lpVtbl->SetShowCmd(p,a)
2491 #define IShellLinkW_GetIconLocation(p,a,b,c) (p)->lpVtbl->GetIconLocation(p,a,b,c)
2492 #define IShellLinkW_SetIconLocation(p,a,b) (p)->lpVtbl->SetIconLocation(p,a,b)
2493 #define IShellLinkW_SetRelativePath(p,a,b) (p)->lpVtbl->SetRelativePath(p,a,b)
2494 #define IShellLinkW_Resolve(p,a,b) (p)->lpVtbl->Resolve(p,a,b)
2495 #define IShellLinkW_SetPath(p,a) (p)->lpVtbl->SetPath(p,a)
2500 #define IShellLinkW_METHODS \
2501 /*** IUnknown methods ***/ \
2502 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2503 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2504 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2505 /*** IShellLinkW methods ***/ \
2506 STDMETHOD_(HRESULT,GetPath)(THIS_ LPWSTR pszFile, int cch, WIN32_FIND_DATAW* pfd, DWORD fFlags) PURE; \
2507 STDMETHOD_(HRESULT,GetIDList)(THIS_ LPITEMIDLIST* ppidl) PURE; \
2508 STDMETHOD_(HRESULT,SetIDList)(THIS_ LPCITEMIDLIST pidl) PURE; \
2509 STDMETHOD_(HRESULT,GetDescription)(THIS_ LPWSTR pszName, int cch) PURE; \
2510 STDMETHOD_(HRESULT,SetDescription)(THIS_ LPCWSTR pszName) PURE; \
2511 STDMETHOD_(HRESULT,GetWorkingDirectory)(THIS_ LPWSTR pszDir, int cch) PURE; \
2512 STDMETHOD_(HRESULT,SetWorkingDirectory)(THIS_ LPCWSTR pszDir) PURE; \
2513 STDMETHOD_(HRESULT,GetArguments)(THIS_ LPWSTR pszArgs, int cch) PURE; \
2514 STDMETHOD_(HRESULT,SetArguments)(THIS_ LPCWSTR pszArgs) PURE; \
2515 STDMETHOD_(HRESULT,GetHotkey)(THIS_ WORD* pwHotkey) PURE; \
2516 STDMETHOD_(HRESULT,SetHotkey)(THIS_ WORD wHotkey) PURE; \
2517 STDMETHOD_(HRESULT,GetShowCmd)(THIS_ int* piShowCmd) PURE; \
2518 STDMETHOD_(HRESULT,SetShowCmd)(THIS_ int iShowCmd) PURE; \
2519 STDMETHOD_(HRESULT,GetIconLocation)(THIS_ LPWSTR pszIconPath, int cch, int* piIcon) PURE; \
2520 STDMETHOD_(HRESULT,SetIconLocation)(THIS_ LPCWSTR pszIconPath, int iIcon) PURE; \
2521 STDMETHOD_(HRESULT,SetRelativePath)(THIS_ LPCWSTR pszPathRel, DWORD dwReserved) PURE; \
2522 STDMETHOD_(HRESULT,Resolve)(THIS_ HWND hwnd, DWORD fFlags) PURE; \
2523 STDMETHOD_(HRESULT,SetPath)(THIS_ LPCWSTR pszFile) PURE;
2525 HRESULT CALLBACK
IShellLinkW_GetPath_Proxy(
2529 WIN32_FIND_DATAW
* pfd
,
2531 void __RPC_STUB
IShellLinkW_GetPath_Stub(
2532 struct IRpcStubBuffer
* This
,
2533 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2534 PRPC_MESSAGE pRpcMessage
,
2535 DWORD
* pdwStubPhase
);
2536 HRESULT CALLBACK
IShellLinkW_GetIDList_Proxy(
2538 LPITEMIDLIST
* ppidl
);
2539 void __RPC_STUB
IShellLinkW_GetIDList_Stub(
2540 struct IRpcStubBuffer
* This
,
2541 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2542 PRPC_MESSAGE pRpcMessage
,
2543 DWORD
* pdwStubPhase
);
2544 HRESULT CALLBACK
IShellLinkW_SetIDList_Proxy(
2546 LPCITEMIDLIST pidl
);
2547 void __RPC_STUB
IShellLinkW_SetIDList_Stub(
2548 struct IRpcStubBuffer
* This
,
2549 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2550 PRPC_MESSAGE pRpcMessage
,
2551 DWORD
* pdwStubPhase
);
2552 HRESULT CALLBACK
IShellLinkW_GetDescription_Proxy(
2556 void __RPC_STUB
IShellLinkW_GetDescription_Stub(
2557 struct IRpcStubBuffer
* This
,
2558 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2559 PRPC_MESSAGE pRpcMessage
,
2560 DWORD
* pdwStubPhase
);
2561 HRESULT CALLBACK
IShellLinkW_SetDescription_Proxy(
2564 void __RPC_STUB
IShellLinkW_SetDescription_Stub(
2565 struct IRpcStubBuffer
* This
,
2566 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2567 PRPC_MESSAGE pRpcMessage
,
2568 DWORD
* pdwStubPhase
);
2569 HRESULT CALLBACK
IShellLinkW_GetWorkingDirectory_Proxy(
2573 void __RPC_STUB
IShellLinkW_GetWorkingDirectory_Stub(
2574 struct IRpcStubBuffer
* This
,
2575 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2576 PRPC_MESSAGE pRpcMessage
,
2577 DWORD
* pdwStubPhase
);
2578 HRESULT CALLBACK
IShellLinkW_SetWorkingDirectory_Proxy(
2581 void __RPC_STUB
IShellLinkW_SetWorkingDirectory_Stub(
2582 struct IRpcStubBuffer
* This
,
2583 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2584 PRPC_MESSAGE pRpcMessage
,
2585 DWORD
* pdwStubPhase
);
2586 HRESULT CALLBACK
IShellLinkW_GetArguments_Proxy(
2590 void __RPC_STUB
IShellLinkW_GetArguments_Stub(
2591 struct IRpcStubBuffer
* This
,
2592 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2593 PRPC_MESSAGE pRpcMessage
,
2594 DWORD
* pdwStubPhase
);
2595 HRESULT CALLBACK
IShellLinkW_SetArguments_Proxy(
2598 void __RPC_STUB
IShellLinkW_SetArguments_Stub(
2599 struct IRpcStubBuffer
* This
,
2600 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2601 PRPC_MESSAGE pRpcMessage
,
2602 DWORD
* pdwStubPhase
);
2603 HRESULT CALLBACK
IShellLinkW_GetHotkey_Proxy(
2606 void __RPC_STUB
IShellLinkW_GetHotkey_Stub(
2607 struct IRpcStubBuffer
* This
,
2608 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2609 PRPC_MESSAGE pRpcMessage
,
2610 DWORD
* pdwStubPhase
);
2611 HRESULT CALLBACK
IShellLinkW_SetHotkey_Proxy(
2614 void __RPC_STUB
IShellLinkW_SetHotkey_Stub(
2615 struct IRpcStubBuffer
* This
,
2616 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2617 PRPC_MESSAGE pRpcMessage
,
2618 DWORD
* pdwStubPhase
);
2619 HRESULT CALLBACK
IShellLinkW_GetShowCmd_Proxy(
2622 void __RPC_STUB
IShellLinkW_GetShowCmd_Stub(
2623 struct IRpcStubBuffer
* This
,
2624 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2625 PRPC_MESSAGE pRpcMessage
,
2626 DWORD
* pdwStubPhase
);
2627 HRESULT CALLBACK
IShellLinkW_SetShowCmd_Proxy(
2630 void __RPC_STUB
IShellLinkW_SetShowCmd_Stub(
2631 struct IRpcStubBuffer
* This
,
2632 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2633 PRPC_MESSAGE pRpcMessage
,
2634 DWORD
* pdwStubPhase
);
2635 HRESULT CALLBACK
IShellLinkW_GetIconLocation_Proxy(
2640 void __RPC_STUB
IShellLinkW_GetIconLocation_Stub(
2641 struct IRpcStubBuffer
* This
,
2642 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2643 PRPC_MESSAGE pRpcMessage
,
2644 DWORD
* pdwStubPhase
);
2645 HRESULT CALLBACK
IShellLinkW_SetIconLocation_Proxy(
2647 LPCWSTR pszIconPath
,
2649 void __RPC_STUB
IShellLinkW_SetIconLocation_Stub(
2650 struct IRpcStubBuffer
* This
,
2651 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2652 PRPC_MESSAGE pRpcMessage
,
2653 DWORD
* pdwStubPhase
);
2654 HRESULT CALLBACK
IShellLinkW_SetRelativePath_Proxy(
2658 void __RPC_STUB
IShellLinkW_SetRelativePath_Stub(
2659 struct IRpcStubBuffer
* This
,
2660 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2661 PRPC_MESSAGE pRpcMessage
,
2662 DWORD
* pdwStubPhase
);
2663 HRESULT CALLBACK
IShellLinkW_Resolve_Proxy(
2667 void __RPC_STUB
IShellLinkW_Resolve_Stub(
2668 struct IRpcStubBuffer
* This
,
2669 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2670 PRPC_MESSAGE pRpcMessage
,
2671 DWORD
* pdwStubPhase
);
2672 HRESULT CALLBACK
IShellLinkW_SetPath_Proxy(
2675 void __RPC_STUB
IShellLinkW_SetPath_Stub(
2676 struct IRpcStubBuffer
* This
,
2677 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2678 PRPC_MESSAGE pRpcMessage
,
2679 DWORD
* pdwStubPhase
);
2681 #endif /* __IShellLinkW_INTERFACE_DEFINED__ */
2683 #define IShellLink WINELIB_NAME_AW(IShellLink)
2684 #ifndef __IShellExtInit_FWD_DEFINED__
2685 #define __IShellExtInit_FWD_DEFINED__
2686 typedef struct IShellExtInit IShellExtInit
;
2689 typedef IShellExtInit
*LPSHELLEXTINIT
;
2691 /*****************************************************************************
2692 * IShellExtInit interface
2694 #ifndef __IShellExtInit_INTERFACE_DEFINED__
2695 #define __IShellExtInit_INTERFACE_DEFINED__
2697 DEFINE_GUID(IID_IShellExtInit
, 0x000214e8, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2698 #if defined(__cplusplus) && !defined(CINTERFACE)
2699 struct IShellExtInit
: public IUnknown
2701 virtual HRESULT STDMETHODCALLTYPE
Initialize(
2702 LPCITEMIDLIST pidlFolder
,
2703 IDataObject
* pdtobj
,
2704 HKEY hkeyProgID
) = 0;
2708 typedef struct IShellExtInitVtbl IShellExtInitVtbl
;
2709 struct IShellExtInit
{
2710 const IShellExtInitVtbl
* lpVtbl
;
2712 struct IShellExtInitVtbl
{
2715 /*** IUnknown methods ***/
2716 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
2717 IShellExtInit
* This
,
2721 ULONG (STDMETHODCALLTYPE
*AddRef
)(
2722 IShellExtInit
* This
);
2724 ULONG (STDMETHODCALLTYPE
*Release
)(
2725 IShellExtInit
* This
);
2727 /*** IShellExtInit methods ***/
2728 HRESULT (STDMETHODCALLTYPE
*Initialize
)(
2729 IShellExtInit
* This
,
2730 LPCITEMIDLIST pidlFolder
,
2731 IDataObject
* pdtobj
,
2738 /*** IUnknown methods ***/
2739 #define IShellExtInit_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2740 #define IShellExtInit_AddRef(p) (p)->lpVtbl->AddRef(p)
2741 #define IShellExtInit_Release(p) (p)->lpVtbl->Release(p)
2742 /*** IShellExtInit methods ***/
2743 #define IShellExtInit_Initialize(p,a,b,c) (p)->lpVtbl->Initialize(p,a,b,c)
2748 #define IShellExtInit_METHODS \
2749 /*** IUnknown methods ***/ \
2750 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2751 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2752 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2753 /*** IShellExtInit methods ***/ \
2754 STDMETHOD_(HRESULT,Initialize)(THIS_ LPCITEMIDLIST pidlFolder, IDataObject* pdtobj, HKEY hkeyProgID) PURE;
2756 HRESULT CALLBACK
IShellExtInit_Initialize_Proxy(
2757 IShellExtInit
* This
,
2758 LPCITEMIDLIST pidlFolder
,
2759 IDataObject
* pdtobj
,
2761 void __RPC_STUB
IShellExtInit_Initialize_Stub(
2762 struct IRpcStubBuffer
* This
,
2763 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2764 PRPC_MESSAGE pRpcMessage
,
2765 DWORD
* pdwStubPhase
);
2767 #endif /* __IShellExtInit_INTERFACE_DEFINED__ */
2769 #ifndef __IPersistFolder3_FWD_DEFINED__
2770 #define __IPersistFolder3_FWD_DEFINED__
2771 typedef struct IPersistFolder3 IPersistFolder3
;
2775 LPITEMIDLIST pidlTargetFolder
;
2776 WCHAR szTargetParsingName
[260];
2777 WCHAR szNetworkProvider
[260];
2780 } PERSIST_FOLDER_TARGET_INFO
;
2782 /*****************************************************************************
2783 * IPersistFolder3 interface
2785 #ifndef __IPersistFolder3_INTERFACE_DEFINED__
2786 #define __IPersistFolder3_INTERFACE_DEFINED__
2788 DEFINE_GUID(IID_IPersistFolder3
, 0xcef04fdf, 0xfe72, 0x11d2, 0x87,0xa5, 0x00,0xc0,0x4f,0x68,0x37,0xcf);
2789 #if defined(__cplusplus) && !defined(CINTERFACE)
2790 struct IPersistFolder3
: public IPersistFolder2
2792 virtual HRESULT STDMETHODCALLTYPE
InitializeEx(
2794 LPCITEMIDLIST pidlRoot
,
2795 const PERSIST_FOLDER_TARGET_INFO
* ppfti
) = 0;
2797 virtual HRESULT STDMETHODCALLTYPE
GetFolderTargetInfo(
2798 PERSIST_FOLDER_TARGET_INFO
* ppfti
) = 0;
2802 typedef struct IPersistFolder3Vtbl IPersistFolder3Vtbl
;
2803 struct IPersistFolder3
{
2804 const IPersistFolder3Vtbl
* lpVtbl
;
2806 struct IPersistFolder3Vtbl
{
2809 /*** IUnknown methods ***/
2810 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
2811 IPersistFolder3
* This
,
2815 ULONG (STDMETHODCALLTYPE
*AddRef
)(
2816 IPersistFolder3
* This
);
2818 ULONG (STDMETHODCALLTYPE
*Release
)(
2819 IPersistFolder3
* This
);
2821 /*** IPersist methods ***/
2822 HRESULT (STDMETHODCALLTYPE
*GetClassID
)(
2823 IPersistFolder3
* This
,
2826 /*** IPersistFolder methods ***/
2827 HRESULT (STDMETHODCALLTYPE
*Initialize
)(
2828 IPersistFolder3
* This
,
2829 LPCITEMIDLIST pidl
);
2831 /*** IPersistFolder2 methods ***/
2832 HRESULT (STDMETHODCALLTYPE
*GetCurFolder
)(
2833 IPersistFolder3
* This
,
2834 LPITEMIDLIST
* ppidl
);
2836 /*** IPersistFolder3 methods ***/
2837 HRESULT (STDMETHODCALLTYPE
*InitializeEx
)(
2838 IPersistFolder3
* This
,
2840 LPCITEMIDLIST pidlRoot
,
2841 const PERSIST_FOLDER_TARGET_INFO
* ppfti
);
2843 HRESULT (STDMETHODCALLTYPE
*GetFolderTargetInfo
)(
2844 IPersistFolder3
* This
,
2845 PERSIST_FOLDER_TARGET_INFO
* ppfti
);
2851 /*** IUnknown methods ***/
2852 #define IPersistFolder3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2853 #define IPersistFolder3_AddRef(p) (p)->lpVtbl->AddRef(p)
2854 #define IPersistFolder3_Release(p) (p)->lpVtbl->Release(p)
2855 /*** IPersist methods ***/
2856 #define IPersistFolder3_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
2857 /*** IPersistFolder methods ***/
2858 #define IPersistFolder3_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
2859 /*** IPersistFolder2 methods ***/
2860 #define IPersistFolder3_GetCurFolder(p,a) (p)->lpVtbl->GetCurFolder(p,a)
2861 /*** IPersistFolder3 methods ***/
2862 #define IPersistFolder3_InitializeEx(p,a,b,c) (p)->lpVtbl->InitializeEx(p,a,b,c)
2863 #define IPersistFolder3_GetFolderTargetInfo(p,a) (p)->lpVtbl->GetFolderTargetInfo(p,a)
2868 #define IPersistFolder3_METHODS \
2869 /*** IUnknown methods ***/ \
2870 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2871 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2872 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2873 /*** IPersist methods ***/ \
2874 STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \
2875 /*** IPersistFolder methods ***/ \
2876 STDMETHOD_(HRESULT,Initialize)(THIS_ LPCITEMIDLIST pidl) PURE; \
2877 /*** IPersistFolder2 methods ***/ \
2878 STDMETHOD_(HRESULT,GetCurFolder)(THIS_ LPITEMIDLIST* ppidl) PURE; \
2879 /*** IPersistFolder3 methods ***/ \
2880 STDMETHOD_(HRESULT,InitializeEx)(THIS_ IBindCtx* pbc, LPCITEMIDLIST pidlRoot, const PERSIST_FOLDER_TARGET_INFO* ppfti) PURE; \
2881 STDMETHOD_(HRESULT,GetFolderTargetInfo)(THIS_ PERSIST_FOLDER_TARGET_INFO* ppfti) PURE;
2883 HRESULT CALLBACK
IPersistFolder3_InitializeEx_Proxy(
2884 IPersistFolder3
* This
,
2886 LPCITEMIDLIST pidlRoot
,
2887 const PERSIST_FOLDER_TARGET_INFO
* ppfti
);
2888 void __RPC_STUB
IPersistFolder3_InitializeEx_Stub(
2889 struct IRpcStubBuffer
* This
,
2890 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2891 PRPC_MESSAGE pRpcMessage
,
2892 DWORD
* pdwStubPhase
);
2893 HRESULT CALLBACK
IPersistFolder3_GetFolderTargetInfo_Proxy(
2894 IPersistFolder3
* This
,
2895 PERSIST_FOLDER_TARGET_INFO
* ppfti
);
2896 void __RPC_STUB
IPersistFolder3_GetFolderTargetInfo_Stub(
2897 struct IRpcStubBuffer
* This
,
2898 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2899 PRPC_MESSAGE pRpcMessage
,
2900 DWORD
* pdwStubPhase
);
2902 #endif /* __IPersistFolder3_INTERFACE_DEFINED__ */
2904 #ifndef __IExtractIconA_FWD_DEFINED__
2905 #define __IExtractIconA_FWD_DEFINED__
2906 typedef struct IExtractIconA IExtractIconA
;
2909 #define GIL_OPENICON 0x0001
2910 #define GIL_FORSHELL 0x0002
2911 #define GIL_ASYNC 0x0020
2912 #define GIL_DEFAULTICON 0x0040
2913 #define GIL_FORSHORTCUT 0x0080
2914 #define GIL_SIMULATEDOC 0x0001
2915 #define GIL_PERINSTANCE 0x0002
2916 #define GIL_PERCLASS 0x0004
2917 #define GIL_NOTFILENAME 0x0008
2918 #define GIL_DONTCACHE 0x0010
2919 typedef IExtractIconA
*LPEXTRACTICONA
;
2921 /*****************************************************************************
2922 * IExtractIconA interface
2924 #ifndef __IExtractIconA_INTERFACE_DEFINED__
2925 #define __IExtractIconA_INTERFACE_DEFINED__
2927 DEFINE_GUID(IID_IExtractIconA
, 0x000214eb, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2928 #if defined(__cplusplus) && !defined(CINTERFACE)
2929 struct IExtractIconA
: public IUnknown
2931 virtual HRESULT STDMETHODCALLTYPE
GetIconLocation(
2938 virtual HRESULT STDMETHODCALLTYPE
Extract(
2943 UINT nIconSize
) = 0;
2947 typedef struct IExtractIconAVtbl IExtractIconAVtbl
;
2948 struct IExtractIconA
{
2949 const IExtractIconAVtbl
* lpVtbl
;
2951 struct IExtractIconAVtbl
{
2954 /*** IUnknown methods ***/
2955 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
2956 IExtractIconA
* This
,
2960 ULONG (STDMETHODCALLTYPE
*AddRef
)(
2961 IExtractIconA
* This
);
2963 ULONG (STDMETHODCALLTYPE
*Release
)(
2964 IExtractIconA
* This
);
2966 /*** IExtractIconA methods ***/
2967 HRESULT (STDMETHODCALLTYPE
*GetIconLocation
)(
2968 IExtractIconA
* This
,
2975 HRESULT (STDMETHODCALLTYPE
*Extract
)(
2976 IExtractIconA
* This
,
2987 /*** IUnknown methods ***/
2988 #define IExtractIconA_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2989 #define IExtractIconA_AddRef(p) (p)->lpVtbl->AddRef(p)
2990 #define IExtractIconA_Release(p) (p)->lpVtbl->Release(p)
2991 /*** IExtractIconA methods ***/
2992 #define IExtractIconA_GetIconLocation(p,a,b,c,d,e) (p)->lpVtbl->GetIconLocation(p,a,b,c,d,e)
2993 #define IExtractIconA_Extract(p,a,b,c,d,e) (p)->lpVtbl->Extract(p,a,b,c,d,e)
2998 #define IExtractIconA_METHODS \
2999 /*** IUnknown methods ***/ \
3000 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3001 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3002 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3003 /*** IExtractIconA methods ***/ \
3004 STDMETHOD_(HRESULT,GetIconLocation)(THIS_ UINT uFlags, LPSTR szIconFile, UINT cchMax, INT* piIndex, UINT* pwFlags) PURE; \
3005 STDMETHOD_(HRESULT,Extract)(THIS_ LPCSTR pszFile, UINT nIconIndex, HICON* phiconLarge, HICON* phiconSmall, UINT nIconSize) PURE;
3007 HRESULT CALLBACK
IExtractIconA_GetIconLocation_Proxy(
3008 IExtractIconA
* This
,
3014 void __RPC_STUB
IExtractIconA_GetIconLocation_Stub(
3015 struct IRpcStubBuffer
* This
,
3016 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3017 PRPC_MESSAGE pRpcMessage
,
3018 DWORD
* pdwStubPhase
);
3019 HRESULT CALLBACK
IExtractIconA_Extract_Proxy(
3020 IExtractIconA
* This
,
3026 void __RPC_STUB
IExtractIconA_Extract_Stub(
3027 struct IRpcStubBuffer
* This
,
3028 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3029 PRPC_MESSAGE pRpcMessage
,
3030 DWORD
* pdwStubPhase
);
3032 #endif /* __IExtractIconA_INTERFACE_DEFINED__ */
3034 #ifndef __IExtractIconW_FWD_DEFINED__
3035 #define __IExtractIconW_FWD_DEFINED__
3036 typedef struct IExtractIconW IExtractIconW
;
3039 typedef IExtractIconW
*LPEXTRACTICONW
;
3041 /*****************************************************************************
3042 * IExtractIconW interface
3044 #ifndef __IExtractIconW_INTERFACE_DEFINED__
3045 #define __IExtractIconW_INTERFACE_DEFINED__
3047 DEFINE_GUID(IID_IExtractIconW
, 0x000214fa, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3048 #if defined(__cplusplus) && !defined(CINTERFACE)
3049 struct IExtractIconW
: public IUnknown
3051 virtual HRESULT STDMETHODCALLTYPE
GetIconLocation(
3058 virtual HRESULT STDMETHODCALLTYPE
Extract(
3063 UINT nIconSize
) = 0;
3067 typedef struct IExtractIconWVtbl IExtractIconWVtbl
;
3068 struct IExtractIconW
{
3069 const IExtractIconWVtbl
* lpVtbl
;
3071 struct IExtractIconWVtbl
{
3074 /*** IUnknown methods ***/
3075 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3076 IExtractIconW
* This
,
3080 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3081 IExtractIconW
* This
);
3083 ULONG (STDMETHODCALLTYPE
*Release
)(
3084 IExtractIconW
* This
);
3086 /*** IExtractIconW methods ***/
3087 HRESULT (STDMETHODCALLTYPE
*GetIconLocation
)(
3088 IExtractIconW
* This
,
3095 HRESULT (STDMETHODCALLTYPE
*Extract
)(
3096 IExtractIconW
* This
,
3107 /*** IUnknown methods ***/
3108 #define IExtractIconW_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3109 #define IExtractIconW_AddRef(p) (p)->lpVtbl->AddRef(p)
3110 #define IExtractIconW_Release(p) (p)->lpVtbl->Release(p)
3111 /*** IExtractIconW methods ***/
3112 #define IExtractIconW_GetIconLocation(p,a,b,c,d,e) (p)->lpVtbl->GetIconLocation(p,a,b,c,d,e)
3113 #define IExtractIconW_Extract(p,a,b,c,d,e) (p)->lpVtbl->Extract(p,a,b,c,d,e)
3118 #define IExtractIconW_METHODS \
3119 /*** IUnknown methods ***/ \
3120 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3121 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3122 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3123 /*** IExtractIconW methods ***/ \
3124 STDMETHOD_(HRESULT,GetIconLocation)(THIS_ UINT uFlags, LPWSTR szIconFile, UINT cchMax, INT* piIndex, UINT* pwFlags) PURE; \
3125 STDMETHOD_(HRESULT,Extract)(THIS_ LPCWSTR pszFile, UINT nIconIndex, HICON* phiconLarge, HICON* phiconSmall, UINT nIconSize) PURE;
3127 HRESULT CALLBACK
IExtractIconW_GetIconLocation_Proxy(
3128 IExtractIconW
* This
,
3134 void __RPC_STUB
IExtractIconW_GetIconLocation_Stub(
3135 struct IRpcStubBuffer
* This
,
3136 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3137 PRPC_MESSAGE pRpcMessage
,
3138 DWORD
* pdwStubPhase
);
3139 HRESULT CALLBACK
IExtractIconW_Extract_Proxy(
3140 IExtractIconW
* This
,
3146 void __RPC_STUB
IExtractIconW_Extract_Stub(
3147 struct IRpcStubBuffer
* This
,
3148 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3149 PRPC_MESSAGE pRpcMessage
,
3150 DWORD
* pdwStubPhase
);
3152 #endif /* __IExtractIconW_INTERFACE_DEFINED__ */
3154 #define LPEXTRACTICON WINELIB_NAME_AW(LPEXTRACTICON)
3155 #define IExtractIcon WINELIB_NAME_AW(IExtractIcon)
3156 #ifndef __ICommDlgBrowser_FWD_DEFINED__
3157 #define __ICommDlgBrowser_FWD_DEFINED__
3158 typedef struct ICommDlgBrowser ICommDlgBrowser
;
3161 #define CDBOSC_SETFOCUS 0x00000000
3162 #define CDBOSC_KILLFOCUS 0x00000001
3163 #define CDBOSC_SELCHANGE 0x00000002
3164 #define CDBOSC_RENAME 0x00000003
3165 #define CDBOSC_STATECHANGE 0x00000004
3166 typedef ICommDlgBrowser
*LPCOMMDLGBROWSER
;
3168 /*****************************************************************************
3169 * ICommDlgBrowser interface
3171 #ifndef __ICommDlgBrowser_INTERFACE_DEFINED__
3172 #define __ICommDlgBrowser_INTERFACE_DEFINED__
3174 DEFINE_GUID(IID_ICommDlgBrowser
, 0x000214f1, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3175 #if defined(__cplusplus) && !defined(CINTERFACE)
3176 struct ICommDlgBrowser
: public IUnknown
3178 virtual HRESULT STDMETHODCALLTYPE
OnDefaultCommand(
3179 IShellView
* shv
) = 0;
3181 virtual HRESULT STDMETHODCALLTYPE
OnStateChange(
3185 virtual HRESULT STDMETHODCALLTYPE
IncludeObject(
3187 LPCITEMIDLIST pidl
) = 0;
3191 typedef struct ICommDlgBrowserVtbl ICommDlgBrowserVtbl
;
3192 struct ICommDlgBrowser
{
3193 const ICommDlgBrowserVtbl
* lpVtbl
;
3195 struct ICommDlgBrowserVtbl
{
3198 /*** IUnknown methods ***/
3199 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3200 ICommDlgBrowser
* This
,
3204 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3205 ICommDlgBrowser
* This
);
3207 ULONG (STDMETHODCALLTYPE
*Release
)(
3208 ICommDlgBrowser
* This
);
3210 /*** ICommDlgBrowser methods ***/
3211 HRESULT (STDMETHODCALLTYPE
*OnDefaultCommand
)(
3212 ICommDlgBrowser
* This
,
3215 HRESULT (STDMETHODCALLTYPE
*OnStateChange
)(
3216 ICommDlgBrowser
* This
,
3220 HRESULT (STDMETHODCALLTYPE
*IncludeObject
)(
3221 ICommDlgBrowser
* This
,
3223 LPCITEMIDLIST pidl
);
3229 /*** IUnknown methods ***/
3230 #define ICommDlgBrowser_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3231 #define ICommDlgBrowser_AddRef(p) (p)->lpVtbl->AddRef(p)
3232 #define ICommDlgBrowser_Release(p) (p)->lpVtbl->Release(p)
3233 /*** ICommDlgBrowser methods ***/
3234 #define ICommDlgBrowser_OnDefaultCommand(p,a) (p)->lpVtbl->OnDefaultCommand(p,a)
3235 #define ICommDlgBrowser_OnStateChange(p,a,b) (p)->lpVtbl->OnStateChange(p,a,b)
3236 #define ICommDlgBrowser_IncludeObject(p,a,b) (p)->lpVtbl->IncludeObject(p,a,b)
3241 #define ICommDlgBrowser_METHODS \
3242 /*** IUnknown methods ***/ \
3243 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3244 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3245 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3246 /*** ICommDlgBrowser methods ***/ \
3247 STDMETHOD_(HRESULT,OnDefaultCommand)(THIS_ IShellView* shv) PURE; \
3248 STDMETHOD_(HRESULT,OnStateChange)(THIS_ IShellView* shv, ULONG uChange) PURE; \
3249 STDMETHOD_(HRESULT,IncludeObject)(THIS_ IShellView* shv, LPCITEMIDLIST pidl) PURE;
3251 HRESULT CALLBACK
ICommDlgBrowser_OnDefaultCommand_Proxy(
3252 ICommDlgBrowser
* This
,
3254 void __RPC_STUB
ICommDlgBrowser_OnDefaultCommand_Stub(
3255 struct IRpcStubBuffer
* This
,
3256 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3257 PRPC_MESSAGE pRpcMessage
,
3258 DWORD
* pdwStubPhase
);
3259 HRESULT CALLBACK
ICommDlgBrowser_OnStateChange_Proxy(
3260 ICommDlgBrowser
* This
,
3263 void __RPC_STUB
ICommDlgBrowser_OnStateChange_Stub(
3264 struct IRpcStubBuffer
* This
,
3265 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3266 PRPC_MESSAGE pRpcMessage
,
3267 DWORD
* pdwStubPhase
);
3268 HRESULT CALLBACK
ICommDlgBrowser_IncludeObject_Proxy(
3269 ICommDlgBrowser
* This
,
3271 LPCITEMIDLIST pidl
);
3272 void __RPC_STUB
ICommDlgBrowser_IncludeObject_Stub(
3273 struct IRpcStubBuffer
* This
,
3274 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3275 PRPC_MESSAGE pRpcMessage
,
3276 DWORD
* pdwStubPhase
);
3278 #endif /* __ICommDlgBrowser_INTERFACE_DEFINED__ */
3280 #ifndef __IDockingWindowFrame_FWD_DEFINED__
3281 #define __IDockingWindowFrame_FWD_DEFINED__
3282 typedef struct IDockingWindowFrame IDockingWindowFrame
;
3285 #define DWFRF_NORMAL 0x0000
3286 #define DWFRF_DELETECONFIGDATA 0x0001
3287 #define DWFAF_HIDDEN 0x0001
3288 /*****************************************************************************
3289 * IDockingWindowFrame interface
3291 #ifndef __IDockingWindowFrame_INTERFACE_DEFINED__
3292 #define __IDockingWindowFrame_INTERFACE_DEFINED__
3294 DEFINE_GUID(IID_IDockingWindowFrame
, 0x47d2657a, 0x7b27, 0x11d0, 0x8c,0xa9, 0x00,0xa0,0xc9,0x2d,0xbf,0xe8);
3295 #if defined(__cplusplus) && !defined(CINTERFACE)
3296 struct IDockingWindowFrame
: public IOleWindow
3298 virtual HRESULT STDMETHODCALLTYPE
AddToolbar(
3301 DWORD dwAddFlags
) = 0;
3303 virtual HRESULT STDMETHODCALLTYPE
RemoveToolbar(
3305 DWORD dwRemoveFlags
) = 0;
3307 virtual HRESULT STDMETHODCALLTYPE
FindToolbar(
3310 LPVOID
* ppvObj
) = 0;
3314 typedef struct IDockingWindowFrameVtbl IDockingWindowFrameVtbl
;
3315 struct IDockingWindowFrame
{
3316 const IDockingWindowFrameVtbl
* lpVtbl
;
3318 struct IDockingWindowFrameVtbl
{
3321 /*** IUnknown methods ***/
3322 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3323 IDockingWindowFrame
* This
,
3327 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3328 IDockingWindowFrame
* This
);
3330 ULONG (STDMETHODCALLTYPE
*Release
)(
3331 IDockingWindowFrame
* This
);
3333 /*** IOleWindow methods ***/
3334 HRESULT (STDMETHODCALLTYPE
*GetWindow
)(
3335 IDockingWindowFrame
* This
,
3338 HRESULT (STDMETHODCALLTYPE
*ContextSensitiveHelp
)(
3339 IDockingWindowFrame
* This
,
3342 /*** IDockingWindowFrame methods ***/
3343 HRESULT (STDMETHODCALLTYPE
*AddToolbar
)(
3344 IDockingWindowFrame
* This
,
3349 HRESULT (STDMETHODCALLTYPE
*RemoveToolbar
)(
3350 IDockingWindowFrame
* This
,
3352 DWORD dwRemoveFlags
);
3354 HRESULT (STDMETHODCALLTYPE
*FindToolbar
)(
3355 IDockingWindowFrame
* This
,
3364 /*** IUnknown methods ***/
3365 #define IDockingWindowFrame_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3366 #define IDockingWindowFrame_AddRef(p) (p)->lpVtbl->AddRef(p)
3367 #define IDockingWindowFrame_Release(p) (p)->lpVtbl->Release(p)
3368 /*** IOleWindow methods ***/
3369 #define IDockingWindowFrame_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
3370 #define IDockingWindowFrame_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
3371 /*** IDockingWindowFrame methods ***/
3372 #define IDockingWindowFrame_AddToolbar(p,a,b,c) (p)->lpVtbl->AddToolbar(p,a,b,c)
3373 #define IDockingWindowFrame_RemoveToolbar(p,a,b) (p)->lpVtbl->RemoveToolbar(p,a,b)
3374 #define IDockingWindowFrame_FindToolbar(p,a,b,c) (p)->lpVtbl->FindToolbar(p,a,b,c)
3379 #define IDockingWindowFrame_METHODS \
3380 /*** IUnknown methods ***/ \
3381 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3382 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3383 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3384 /*** IOleWindow methods ***/ \
3385 STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND* phwnd) PURE; \
3386 STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE; \
3387 /*** IDockingWindowFrame methods ***/ \
3388 STDMETHOD_(HRESULT,AddToolbar)(THIS_ IUnknown* punkSrc, LPCWSTR pwszItem, DWORD dwAddFlags) PURE; \
3389 STDMETHOD_(HRESULT,RemoveToolbar)(THIS_ IUnknown* punkSrc, DWORD dwRemoveFlags) PURE; \
3390 STDMETHOD_(HRESULT,FindToolbar)(THIS_ LPCWSTR pwszItem, REFIID riid, LPVOID* ppvObj) PURE;
3392 HRESULT CALLBACK
IDockingWindowFrame_AddToolbar_Proxy(
3393 IDockingWindowFrame
* This
,
3397 void __RPC_STUB
IDockingWindowFrame_AddToolbar_Stub(
3398 struct IRpcStubBuffer
* This
,
3399 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3400 PRPC_MESSAGE pRpcMessage
,
3401 DWORD
* pdwStubPhase
);
3402 HRESULT CALLBACK
IDockingWindowFrame_RemoveToolbar_Proxy(
3403 IDockingWindowFrame
* This
,
3405 DWORD dwRemoveFlags
);
3406 void __RPC_STUB
IDockingWindowFrame_RemoveToolbar_Stub(
3407 struct IRpcStubBuffer
* This
,
3408 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3409 PRPC_MESSAGE pRpcMessage
,
3410 DWORD
* pdwStubPhase
);
3411 HRESULT CALLBACK
IDockingWindowFrame_FindToolbar_Proxy(
3412 IDockingWindowFrame
* This
,
3416 void __RPC_STUB
IDockingWindowFrame_FindToolbar_Stub(
3417 struct IRpcStubBuffer
* This
,
3418 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3419 PRPC_MESSAGE pRpcMessage
,
3420 DWORD
* pdwStubPhase
);
3422 #endif /* __IDockingWindowFrame_INTERFACE_DEFINED__ */
3424 #ifndef __IDragSourceHelper_FWD_DEFINED__
3425 #define __IDragSourceHelper_FWD_DEFINED__
3426 typedef struct IDragSourceHelper IDragSourceHelper
;
3432 HBITMAP hbmpDragImage
;
3433 COLORREF crColorKey
;
3434 } SHDRAGIMAGE
, *LPSHDRAGIMAGE
;
3436 /*****************************************************************************
3437 * IDragSourceHelper interface
3439 #ifndef __IDragSourceHelper_INTERFACE_DEFINED__
3440 #define __IDragSourceHelper_INTERFACE_DEFINED__
3442 DEFINE_GUID(IID_IDragSourceHelper
, 0xde5bf786, 0x477a, 0x11d2, 0x83,0x9d, 0x00,0xc0,0x4f,0xd9,0x18,0xd0);
3443 #if defined(__cplusplus) && !defined(CINTERFACE)
3444 struct IDragSourceHelper
: public IUnknown
3446 virtual HRESULT STDMETHODCALLTYPE
InitializeFromBitmap(
3447 LPSHDRAGIMAGE pshdi
,
3448 IDataObject
* pDataObject
) = 0;
3450 virtual HRESULT STDMETHODCALLTYPE
InitializeFromWindow(
3453 IDataObject
* pDataObject
) = 0;
3457 typedef struct IDragSourceHelperVtbl IDragSourceHelperVtbl
;
3458 struct IDragSourceHelper
{
3459 const IDragSourceHelperVtbl
* lpVtbl
;
3461 struct IDragSourceHelperVtbl
{
3464 /*** IUnknown methods ***/
3465 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3466 IDragSourceHelper
* This
,
3470 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3471 IDragSourceHelper
* This
);
3473 ULONG (STDMETHODCALLTYPE
*Release
)(
3474 IDragSourceHelper
* This
);
3476 /*** IDragSourceHelper methods ***/
3477 HRESULT (STDMETHODCALLTYPE
*InitializeFromBitmap
)(
3478 IDragSourceHelper
* This
,
3479 LPSHDRAGIMAGE pshdi
,
3480 IDataObject
* pDataObject
);
3482 HRESULT (STDMETHODCALLTYPE
*InitializeFromWindow
)(
3483 IDragSourceHelper
* This
,
3486 IDataObject
* pDataObject
);
3492 /*** IUnknown methods ***/
3493 #define IDragSourceHelper_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3494 #define IDragSourceHelper_AddRef(p) (p)->lpVtbl->AddRef(p)
3495 #define IDragSourceHelper_Release(p) (p)->lpVtbl->Release(p)
3496 /*** IDragSourceHelper methods ***/
3497 #define IDragSourceHelper_InitializeFromBitmap(p,a,b) (p)->lpVtbl->InitializeFromBitmap(p,a,b)
3498 #define IDragSourceHelper_InitializeFromWindow(p,a,b,c) (p)->lpVtbl->InitializeFromWindow(p,a,b,c)
3503 #define IDragSourceHelper_METHODS \
3504 /*** IUnknown methods ***/ \
3505 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3506 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3507 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3508 /*** IDragSourceHelper methods ***/ \
3509 STDMETHOD_(HRESULT,InitializeFromBitmap)(THIS_ LPSHDRAGIMAGE pshdi, IDataObject* pDataObject) PURE; \
3510 STDMETHOD_(HRESULT,InitializeFromWindow)(THIS_ HWND hwnd, POINT* ppt, IDataObject* pDataObject) PURE;
3512 HRESULT CALLBACK
IDragSourceHelper_InitializeFromBitmap_Proxy(
3513 IDragSourceHelper
* This
,
3514 LPSHDRAGIMAGE pshdi
,
3515 IDataObject
* pDataObject
);
3516 void __RPC_STUB
IDragSourceHelper_InitializeFromBitmap_Stub(
3517 struct IRpcStubBuffer
* This
,
3518 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3519 PRPC_MESSAGE pRpcMessage
,
3520 DWORD
* pdwStubPhase
);
3521 HRESULT CALLBACK
IDragSourceHelper_InitializeFromWindow_Proxy(
3522 IDragSourceHelper
* This
,
3525 IDataObject
* pDataObject
);
3526 void __RPC_STUB
IDragSourceHelper_InitializeFromWindow_Stub(
3527 struct IRpcStubBuffer
* This
,
3528 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3529 PRPC_MESSAGE pRpcMessage
,
3530 DWORD
* pdwStubPhase
);
3532 #endif /* __IDragSourceHelper_INTERFACE_DEFINED__ */
3534 #ifndef __IDropTargetHelper_FWD_DEFINED__
3535 #define __IDropTargetHelper_FWD_DEFINED__
3536 typedef struct IDropTargetHelper IDropTargetHelper
;
3539 /*****************************************************************************
3540 * IDropTargetHelper interface
3542 #ifndef __IDropTargetHelper_INTERFACE_DEFINED__
3543 #define __IDropTargetHelper_INTERFACE_DEFINED__
3545 DEFINE_GUID(IID_IDropTargetHelper
, 0x4657278b, 0x411b, 0x11d2, 0x83,0x9a, 0x00,0xc0,0x4f,0xd9,0x18,0xd0);
3546 #if defined(__cplusplus) && !defined(CINTERFACE)
3547 struct IDropTargetHelper
: public IUnknown
3549 virtual HRESULT STDMETHODCALLTYPE
DragEnter(
3551 IDataObject
* pDataObject
,
3553 DWORD dwEffect
) = 0;
3555 virtual HRESULT STDMETHODCALLTYPE
DragLeave(
3558 virtual HRESULT STDMETHODCALLTYPE
DragOver(
3560 DWORD dwEffect
) = 0;
3562 virtual HRESULT STDMETHODCALLTYPE
Drop(
3563 IDataObject
* pDataObject
,
3565 DWORD dwEffect
) = 0;
3567 virtual HRESULT STDMETHODCALLTYPE
Show(
3572 typedef struct IDropTargetHelperVtbl IDropTargetHelperVtbl
;
3573 struct IDropTargetHelper
{
3574 const IDropTargetHelperVtbl
* lpVtbl
;
3576 struct IDropTargetHelperVtbl
{
3579 /*** IUnknown methods ***/
3580 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3581 IDropTargetHelper
* This
,
3585 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3586 IDropTargetHelper
* This
);
3588 ULONG (STDMETHODCALLTYPE
*Release
)(
3589 IDropTargetHelper
* This
);
3591 /*** IDropTargetHelper methods ***/
3592 HRESULT (STDMETHODCALLTYPE
*DragEnter
)(
3593 IDropTargetHelper
* This
,
3595 IDataObject
* pDataObject
,
3599 HRESULT (STDMETHODCALLTYPE
*DragLeave
)(
3600 IDropTargetHelper
* This
);
3602 HRESULT (STDMETHODCALLTYPE
*DragOver
)(
3603 IDropTargetHelper
* This
,
3607 HRESULT (STDMETHODCALLTYPE
*Drop
)(
3608 IDropTargetHelper
* This
,
3609 IDataObject
* pDataObject
,
3613 HRESULT (STDMETHODCALLTYPE
*Show
)(
3614 IDropTargetHelper
* This
,
3621 /*** IUnknown methods ***/
3622 #define IDropTargetHelper_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3623 #define IDropTargetHelper_AddRef(p) (p)->lpVtbl->AddRef(p)
3624 #define IDropTargetHelper_Release(p) (p)->lpVtbl->Release(p)
3625 /*** IDropTargetHelper methods ***/
3626 #define IDropTargetHelper_DragEnter(p,a,b,c,d) (p)->lpVtbl->DragEnter(p,a,b,c,d)
3627 #define IDropTargetHelper_DragLeave(p) (p)->lpVtbl->DragLeave(p)
3628 #define IDropTargetHelper_DragOver(p,a,b) (p)->lpVtbl->DragOver(p,a,b)
3629 #define IDropTargetHelper_Drop(p,a,b,c) (p)->lpVtbl->Drop(p,a,b,c)
3630 #define IDropTargetHelper_Show(p,a) (p)->lpVtbl->Show(p,a)
3635 #define IDropTargetHelper_METHODS \
3636 /*** IUnknown methods ***/ \
3637 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3638 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3639 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3640 /*** IDropTargetHelper methods ***/ \
3641 STDMETHOD_(HRESULT,DragEnter)(THIS_ HWND hwndTarget, IDataObject* pDataObject, POINT* ppt, DWORD dwEffect) PURE; \
3642 STDMETHOD_(HRESULT,DragLeave)(THIS) PURE; \
3643 STDMETHOD_(HRESULT,DragOver)(THIS_ POINT* ppt, DWORD dwEffect) PURE; \
3644 STDMETHOD_(HRESULT,Drop)(THIS_ IDataObject* pDataObject, POINT* ppt, DWORD dwEffect) PURE; \
3645 STDMETHOD_(HRESULT,Show)(THIS_ BOOL fShow) PURE;
3647 HRESULT CALLBACK
IDropTargetHelper_DragEnter_Proxy(
3648 IDropTargetHelper
* This
,
3650 IDataObject
* pDataObject
,
3653 void __RPC_STUB
IDropTargetHelper_DragEnter_Stub(
3654 struct IRpcStubBuffer
* This
,
3655 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3656 PRPC_MESSAGE pRpcMessage
,
3657 DWORD
* pdwStubPhase
);
3658 HRESULT CALLBACK
IDropTargetHelper_DragLeave_Proxy(
3659 IDropTargetHelper
* This
);
3660 void __RPC_STUB
IDropTargetHelper_DragLeave_Stub(
3661 struct IRpcStubBuffer
* This
,
3662 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3663 PRPC_MESSAGE pRpcMessage
,
3664 DWORD
* pdwStubPhase
);
3665 HRESULT CALLBACK
IDropTargetHelper_DragOver_Proxy(
3666 IDropTargetHelper
* This
,
3669 void __RPC_STUB
IDropTargetHelper_DragOver_Stub(
3670 struct IRpcStubBuffer
* This
,
3671 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3672 PRPC_MESSAGE pRpcMessage
,
3673 DWORD
* pdwStubPhase
);
3674 HRESULT CALLBACK
IDropTargetHelper_Drop_Proxy(
3675 IDropTargetHelper
* This
,
3676 IDataObject
* pDataObject
,
3679 void __RPC_STUB
IDropTargetHelper_Drop_Stub(
3680 struct IRpcStubBuffer
* This
,
3681 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3682 PRPC_MESSAGE pRpcMessage
,
3683 DWORD
* pdwStubPhase
);
3684 HRESULT CALLBACK
IDropTargetHelper_Show_Proxy(
3685 IDropTargetHelper
* This
,
3687 void __RPC_STUB
IDropTargetHelper_Show_Stub(
3688 struct IRpcStubBuffer
* This
,
3689 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3690 PRPC_MESSAGE pRpcMessage
,
3691 DWORD
* pdwStubPhase
);
3693 #endif /* __IDropTargetHelper_INTERFACE_DEFINED__ */
3695 #ifndef __IContextMenu_FWD_DEFINED__
3696 #define __IContextMenu_FWD_DEFINED__
3697 typedef struct IContextMenu IContextMenu
;
3700 #define CMF_NORMAL 0x00000000
3701 #define CMF_DEFAULTONLY 0x00000001
3702 #define CMF_VERBSONLY 0x00000002
3703 #define CMF_EXPLORE 0x00000004
3704 #define CMF_NOVERBS 0x00000008
3705 #define CMF_CANRENAME 0x00000010
3706 #define CMF_NODEFAULT 0x00000020
3707 #define CMF_INCLUDESTATIC 0x00000040
3708 #define CMF_EXTENDEDVERBS 0x00000100
3709 #define CMF_RESERVED 0xffff0000
3710 #define GCS_VERBA 0x00000000
3711 #define GCS_HELPTEXTA 0x00000001
3712 #define GCS_VALIDATEA 0x00000002
3713 #define GCS_VERBW 0x00000004
3714 #define GCS_HELPTEXTW 0x00000005
3715 #define GCS_VALIDATEW 0x00000006
3716 #define GCS_UNICODE 0x00000004
3717 #define GCS_VERB WINELIB_NAME_AW(GCS_VERB)
3718 #define GCS_HELPTEXT WINELIB_NAME_AW(GCS_HELPTEXT)
3719 #define GCS_VALIDATE WINELIB_NAME_AW(GCS_VALIDATE)
3720 #define CMDSTR_NEWFOLDERA "NewFolder"
3721 #define CMDSTR_VIEWLISTA "ViewList"
3722 #define CMDSTR_VIEWDETAILSA "ViewDetails"
3723 #if defined(__GNUC__)
3724 # define CMDSTR_NEWFOLDERW (const WCHAR []){ 'N','e','w','F','o','l','d','e','r',0 }
3725 # define CMDSTR_VIEWLISTW (const WCHAR []){ 'V','i','e','w','L','i','s','t',0 }
3726 # define CMDSTR_VIEWDETAILSW (const WCHAR []){ 'V','i','e','w','D','e','t','a','i','l','s',0 }
3727 #elif defined(_MSC_VER)
3728 # define CMDSTR_NEWFOLDERW L"NewFolder"
3729 # define CMDSTR_VIEWLISTW L"ViewList"
3730 # define CMDSTR_VIEWDETAILSW L"ViewDetails"
3732 static const WCHAR CMDSTR_NEWFOLDERW
[] = {'N','e','w','F','o','l','d','e','r',0};
3733 static const WCHAR CMDSTR_VIEWLISTW
[] = {'V','i','e','w','L','i','s','t',0};
3734 static const WCHAR CMDSTR_VIEWDETAILSW
[] = {'V','i','e','w','D','e','t','a','i','l','s',0};
3736 #define CMDSTR_NEWFOLDER WINELIB_NAME_AW(CMDSTR_NEWFOLDER)
3737 #define CMDSTR_VIEWLIST WINELIB_NAME_AW(CMDSTR_VIEWLIST)
3738 #define CMDSTR_VIEWDETAILS WINELIB_NAME_AW(CMDSTR_VIEWDETAILS)
3739 #define CMIC_MASK_HOTKEY SEE_MASK_HOTKEY
3740 #define CMIC_MASK_ICON SEE_MASK_ICON
3741 #define CMIC_MASK_FLAG_NO_UI SEE_MASK_FLAG_NO_UI
3742 #define CMIC_MASK_UNICODE SEE_MASK_UNICODE
3743 #define CMIC_MASK_NO_CONSOLE SEE_MASK_NO_CONSOLE
3744 #define CMIC_MASK_HASLINKNAME SEE_MASK_HASLINKNAME
3745 #define CMIC_MASK_FLAG_SEP_VDM SEE_MASK_FLAG_SEPVDM
3746 #define CMIC_MASK_HASTITLE SEE_MASK_HASTITLE
3747 #define CMIC_MASK_ASYNCOK SEE_MASK_ASYNCOK
3748 #define CMIC_MASK_SHIFT_DOWN 0x10000000
3749 #define CMIC_MASK_PTINVOKE 0x20000000
3750 #define CMIC_MASK_CONTROL_DOWN 0x40000000
3751 #define CMIC_MASK_FLAG_LOG_USAGE SEE_MASK_FLAG_LOG_USAGE
3752 #define CMIC_MASK_NOZONECHECKS SEE_MASK_NOZONECHECKS
3753 typedef IContextMenu
*LPCONTEXTMENU
;
3755 typedef struct tagCMINVOKECOMMANDINFO
{
3760 LPCSTR lpParameters
;
3765 } CMINVOKECOMMANDINFO
, *LPCMINVOKECOMMANDINFO
;
3767 typedef struct tagCMInvokeCommandInfoEx
{
3772 LPCSTR lpParameters
;
3779 LPCWSTR lpParametersW
;
3780 LPCWSTR lpDirectoryW
;
3783 } CMINVOKECOMMANDINFOEX
, *LPCMINVOKECOMMANDINFOEX
;
3785 /*****************************************************************************
3786 * IContextMenu interface
3788 #ifndef __IContextMenu_INTERFACE_DEFINED__
3789 #define __IContextMenu_INTERFACE_DEFINED__
3791 DEFINE_GUID(IID_IContextMenu
, 0x000214e4, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3792 #if defined(__cplusplus) && !defined(CINTERFACE)
3793 struct IContextMenu
: public IUnknown
3795 virtual HRESULT STDMETHODCALLTYPE
QueryContextMenu(
3802 virtual HRESULT STDMETHODCALLTYPE
InvokeCommand(
3803 LPCMINVOKECOMMANDINFO lpici
) = 0;
3805 virtual HRESULT STDMETHODCALLTYPE
GetCommandString(
3814 typedef struct IContextMenuVtbl IContextMenuVtbl
;
3815 struct IContextMenu
{
3816 const IContextMenuVtbl
* lpVtbl
;
3818 struct IContextMenuVtbl
{
3821 /*** IUnknown methods ***/
3822 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3827 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3828 IContextMenu
* This
);
3830 ULONG (STDMETHODCALLTYPE
*Release
)(
3831 IContextMenu
* This
);
3833 /*** IContextMenu methods ***/
3834 HRESULT (STDMETHODCALLTYPE
*QueryContextMenu
)(
3842 HRESULT (STDMETHODCALLTYPE
*InvokeCommand
)(
3844 LPCMINVOKECOMMANDINFO lpici
);
3846 HRESULT (STDMETHODCALLTYPE
*GetCommandString
)(
3858 /*** IUnknown methods ***/
3859 #define IContextMenu_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3860 #define IContextMenu_AddRef(p) (p)->lpVtbl->AddRef(p)
3861 #define IContextMenu_Release(p) (p)->lpVtbl->Release(p)
3862 /*** IContextMenu methods ***/
3863 #define IContextMenu_QueryContextMenu(p,a,b,c,d,e) (p)->lpVtbl->QueryContextMenu(p,a,b,c,d,e)
3864 #define IContextMenu_InvokeCommand(p,a) (p)->lpVtbl->InvokeCommand(p,a)
3865 #define IContextMenu_GetCommandString(p,a,b,c,d,e) (p)->lpVtbl->GetCommandString(p,a,b,c,d,e)
3870 #define IContextMenu_METHODS \
3871 /*** IUnknown methods ***/ \
3872 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3873 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3874 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3875 /*** IContextMenu methods ***/ \
3876 STDMETHOD_(HRESULT,QueryContextMenu)(THIS_ HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) PURE; \
3877 STDMETHOD_(HRESULT,InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO lpici) PURE; \
3878 STDMETHOD_(HRESULT,GetCommandString)(THIS_ UINT idCmd, UINT uType, UINT* pwReserved, LPSTR pszName, UINT cchMax) PURE;
3880 HRESULT CALLBACK
IContextMenu_QueryContextMenu_Proxy(
3887 void __RPC_STUB
IContextMenu_QueryContextMenu_Stub(
3888 struct IRpcStubBuffer
* This
,
3889 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3890 PRPC_MESSAGE pRpcMessage
,
3891 DWORD
* pdwStubPhase
);
3892 HRESULT CALLBACK
IContextMenu_InvokeCommand_Proxy(
3894 LPCMINVOKECOMMANDINFO lpici
);
3895 void __RPC_STUB
IContextMenu_InvokeCommand_Stub(
3896 struct IRpcStubBuffer
* This
,
3897 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3898 PRPC_MESSAGE pRpcMessage
,
3899 DWORD
* pdwStubPhase
);
3900 HRESULT CALLBACK
IContextMenu_GetCommandString_Proxy(
3907 void __RPC_STUB
IContextMenu_GetCommandString_Stub(
3908 struct IRpcStubBuffer
* This
,
3909 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3910 PRPC_MESSAGE pRpcMessage
,
3911 DWORD
* pdwStubPhase
);
3913 #endif /* __IContextMenu_INTERFACE_DEFINED__ */
3915 #ifndef __IContextMenu2_FWD_DEFINED__
3916 #define __IContextMenu2_FWD_DEFINED__
3917 typedef struct IContextMenu2 IContextMenu2
;
3920 typedef IContextMenu2
*LPCONTEXTMENU2
;
3922 /*****************************************************************************
3923 * IContextMenu2 interface
3925 #ifndef __IContextMenu2_INTERFACE_DEFINED__
3926 #define __IContextMenu2_INTERFACE_DEFINED__
3928 DEFINE_GUID(IID_IContextMenu2
, 0x000214f4, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3929 #if defined(__cplusplus) && !defined(CINTERFACE)
3930 struct IContextMenu2
: public IContextMenu
3932 virtual HRESULT STDMETHODCALLTYPE
HandleMenuMsg(
3939 typedef struct IContextMenu2Vtbl IContextMenu2Vtbl
;
3940 struct IContextMenu2
{
3941 const IContextMenu2Vtbl
* lpVtbl
;
3943 struct IContextMenu2Vtbl
{
3946 /*** IUnknown methods ***/
3947 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3948 IContextMenu2
* This
,
3952 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3953 IContextMenu2
* This
);
3955 ULONG (STDMETHODCALLTYPE
*Release
)(
3956 IContextMenu2
* This
);
3958 /*** IContextMenu methods ***/
3959 HRESULT (STDMETHODCALLTYPE
*QueryContextMenu
)(
3960 IContextMenu2
* This
,
3967 HRESULT (STDMETHODCALLTYPE
*InvokeCommand
)(
3968 IContextMenu2
* This
,
3969 LPCMINVOKECOMMANDINFO lpici
);
3971 HRESULT (STDMETHODCALLTYPE
*GetCommandString
)(
3972 IContextMenu2
* This
,
3979 /*** IContextMenu2 methods ***/
3980 HRESULT (STDMETHODCALLTYPE
*HandleMenuMsg
)(
3981 IContextMenu2
* This
,
3990 /*** IUnknown methods ***/
3991 #define IContextMenu2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3992 #define IContextMenu2_AddRef(p) (p)->lpVtbl->AddRef(p)
3993 #define IContextMenu2_Release(p) (p)->lpVtbl->Release(p)
3994 /*** IContextMenu methods ***/
3995 #define IContextMenu2_QueryContextMenu(p,a,b,c,d,e) (p)->lpVtbl->QueryContextMenu(p,a,b,c,d,e)
3996 #define IContextMenu2_InvokeCommand(p,a) (p)->lpVtbl->InvokeCommand(p,a)
3997 #define IContextMenu2_GetCommandString(p,a,b,c,d,e) (p)->lpVtbl->GetCommandString(p,a,b,c,d,e)
3998 /*** IContextMenu2 methods ***/
3999 #define IContextMenu2_HandleMenuMsg(p,a,b,c) (p)->lpVtbl->HandleMenuMsg(p,a,b,c)
4004 #define IContextMenu2_METHODS \
4005 /*** IUnknown methods ***/ \
4006 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
4007 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
4008 STDMETHOD_(ULONG,Release)(THIS) PURE; \
4009 /*** IContextMenu methods ***/ \
4010 STDMETHOD_(HRESULT,QueryContextMenu)(THIS_ HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) PURE; \
4011 STDMETHOD_(HRESULT,InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO lpici) PURE; \
4012 STDMETHOD_(HRESULT,GetCommandString)(THIS_ UINT idCmd, UINT uType, UINT* pwReserved, LPSTR pszName, UINT cchMax) PURE; \
4013 /*** IContextMenu2 methods ***/ \
4014 STDMETHOD_(HRESULT,HandleMenuMsg)(THIS_ UINT uMsg, WPARAM wParam, LPARAM lParam) PURE;
4016 HRESULT CALLBACK
IContextMenu2_HandleMenuMsg_Proxy(
4017 IContextMenu2
* This
,
4021 void __RPC_STUB
IContextMenu2_HandleMenuMsg_Stub(
4022 struct IRpcStubBuffer
* This
,
4023 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4024 PRPC_MESSAGE pRpcMessage
,
4025 DWORD
* pdwStubPhase
);
4027 #endif /* __IContextMenu2_INTERFACE_DEFINED__ */
4029 #ifndef __IContextMenu3_FWD_DEFINED__
4030 #define __IContextMenu3_FWD_DEFINED__
4031 typedef struct IContextMenu3 IContextMenu3
;
4034 typedef IContextMenu3
*LPCONTEXTMENU3
;
4036 /*****************************************************************************
4037 * IContextMenu3 interface
4039 #ifndef __IContextMenu3_INTERFACE_DEFINED__
4040 #define __IContextMenu3_INTERFACE_DEFINED__
4042 DEFINE_GUID(IID_IContextMenu3
, 0xbcfce0a0, 0xec17, 0x11d0, 0x8d,0x10, 0x00,0xa0,0xc9,0x0f,0x27,0x19);
4043 #if defined(__cplusplus) && !defined(CINTERFACE)
4044 struct IContextMenu3
: public IContextMenu2
4046 virtual HRESULT STDMETHODCALLTYPE
HandleMenuMsg2(
4050 LRESULT
* plResult
) = 0;
4054 typedef struct IContextMenu3Vtbl IContextMenu3Vtbl
;
4055 struct IContextMenu3
{
4056 const IContextMenu3Vtbl
* lpVtbl
;
4058 struct IContextMenu3Vtbl
{
4061 /*** IUnknown methods ***/
4062 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
4063 IContextMenu3
* This
,
4067 ULONG (STDMETHODCALLTYPE
*AddRef
)(
4068 IContextMenu3
* This
);
4070 ULONG (STDMETHODCALLTYPE
*Release
)(
4071 IContextMenu3
* This
);
4073 /*** IContextMenu methods ***/
4074 HRESULT (STDMETHODCALLTYPE
*QueryContextMenu
)(
4075 IContextMenu3
* This
,
4082 HRESULT (STDMETHODCALLTYPE
*InvokeCommand
)(
4083 IContextMenu3
* This
,
4084 LPCMINVOKECOMMANDINFO lpici
);
4086 HRESULT (STDMETHODCALLTYPE
*GetCommandString
)(
4087 IContextMenu3
* This
,
4094 /*** IContextMenu2 methods ***/
4095 HRESULT (STDMETHODCALLTYPE
*HandleMenuMsg
)(
4096 IContextMenu3
* This
,
4101 /*** IContextMenu3 methods ***/
4102 HRESULT (STDMETHODCALLTYPE
*HandleMenuMsg2
)(
4103 IContextMenu3
* This
,
4113 /*** IUnknown methods ***/
4114 #define IContextMenu3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4115 #define IContextMenu3_AddRef(p) (p)->lpVtbl->AddRef(p)
4116 #define IContextMenu3_Release(p) (p)->lpVtbl->Release(p)
4117 /*** IContextMenu methods ***/
4118 #define IContextMenu3_QueryContextMenu(p,a,b,c,d,e) (p)->lpVtbl->QueryContextMenu(p,a,b,c,d,e)
4119 #define IContextMenu3_InvokeCommand(p,a) (p)->lpVtbl->InvokeCommand(p,a)
4120 #define IContextMenu3_GetCommandString(p,a,b,c,d,e) (p)->lpVtbl->GetCommandString(p,a,b,c,d,e)
4121 /*** IContextMenu2 methods ***/
4122 #define IContextMenu3_HandleMenuMsg(p,a,b,c) (p)->lpVtbl->HandleMenuMsg(p,a,b,c)
4123 /*** IContextMenu3 methods ***/
4124 #define IContextMenu3_HandleMenuMsg2(p,a,b,c,d) (p)->lpVtbl->HandleMenuMsg2(p,a,b,c,d)
4129 #define IContextMenu3_METHODS \
4130 /*** IUnknown methods ***/ \
4131 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
4132 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
4133 STDMETHOD_(ULONG,Release)(THIS) PURE; \
4134 /*** IContextMenu methods ***/ \
4135 STDMETHOD_(HRESULT,QueryContextMenu)(THIS_ HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) PURE; \
4136 STDMETHOD_(HRESULT,InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO lpici) PURE; \
4137 STDMETHOD_(HRESULT,GetCommandString)(THIS_ UINT idCmd, UINT uType, UINT* pwReserved, LPSTR pszName, UINT cchMax) PURE; \
4138 /*** IContextMenu2 methods ***/ \
4139 STDMETHOD_(HRESULT,HandleMenuMsg)(THIS_ UINT uMsg, WPARAM wParam, LPARAM lParam) PURE; \
4140 /*** IContextMenu3 methods ***/ \
4141 STDMETHOD_(HRESULT,HandleMenuMsg2)(THIS_ UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT* plResult) PURE;
4143 HRESULT CALLBACK
IContextMenu3_HandleMenuMsg2_Proxy(
4144 IContextMenu3
* This
,
4149 void __RPC_STUB
IContextMenu3_HandleMenuMsg2_Stub(
4150 struct IRpcStubBuffer
* This
,
4151 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4152 PRPC_MESSAGE pRpcMessage
,
4153 DWORD
* pdwStubPhase
);
4155 #endif /* __IContextMenu3_INTERFACE_DEFINED__ */
4157 #ifndef __IShellExecuteHookA_FWD_DEFINED__
4158 #define __IShellExecuteHookA_FWD_DEFINED__
4159 typedef struct IShellExecuteHookA IShellExecuteHookA
;
4162 struct _SHELLEXECUTEINFOA
;
4163 /*****************************************************************************
4164 * IShellExecuteHookA interface
4166 #ifndef __IShellExecuteHookA_INTERFACE_DEFINED__
4167 #define __IShellExecuteHookA_INTERFACE_DEFINED__
4169 DEFINE_GUID(IID_IShellExecuteHookA
, 0x000214f5, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4170 #if defined(__cplusplus) && !defined(CINTERFACE)
4171 struct IShellExecuteHookA
: public IUnknown
4173 virtual HRESULT STDMETHODCALLTYPE
Execute(
4174 struct _SHELLEXECUTEINFOA
* pei
) = 0;
4178 typedef struct IShellExecuteHookAVtbl IShellExecuteHookAVtbl
;
4179 struct IShellExecuteHookA
{
4180 const IShellExecuteHookAVtbl
* lpVtbl
;
4182 struct IShellExecuteHookAVtbl
{
4185 /*** IUnknown methods ***/
4186 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
4187 IShellExecuteHookA
* This
,
4191 ULONG (STDMETHODCALLTYPE
*AddRef
)(
4192 IShellExecuteHookA
* This
);
4194 ULONG (STDMETHODCALLTYPE
*Release
)(
4195 IShellExecuteHookA
* This
);
4197 /*** IShellExecuteHookA methods ***/
4198 HRESULT (STDMETHODCALLTYPE
*Execute
)(
4199 IShellExecuteHookA
* This
,
4200 struct _SHELLEXECUTEINFOA
* pei
);
4206 /*** IUnknown methods ***/
4207 #define IShellExecuteHookA_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4208 #define IShellExecuteHookA_AddRef(p) (p)->lpVtbl->AddRef(p)
4209 #define IShellExecuteHookA_Release(p) (p)->lpVtbl->Release(p)
4210 /*** IShellExecuteHookA methods ***/
4211 #define IShellExecuteHookA_Execute(p,a) (p)->lpVtbl->Execute(p,a)
4216 #define IShellExecuteHookA_METHODS \
4217 /*** IUnknown methods ***/ \
4218 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
4219 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
4220 STDMETHOD_(ULONG,Release)(THIS) PURE; \
4221 /*** IShellExecuteHookA methods ***/ \
4222 STDMETHOD_(HRESULT,Execute)(THIS_ struct _SHELLEXECUTEINFOA* pei) PURE;
4224 HRESULT CALLBACK
IShellExecuteHookA_Execute_Proxy(
4225 IShellExecuteHookA
* This
,
4226 struct _SHELLEXECUTEINFOA
* pei
);
4227 void __RPC_STUB
IShellExecuteHookA_Execute_Stub(
4228 struct IRpcStubBuffer
* This
,
4229 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4230 PRPC_MESSAGE pRpcMessage
,
4231 DWORD
* pdwStubPhase
);
4233 #endif /* __IShellExecuteHookA_INTERFACE_DEFINED__ */
4235 #ifndef __IShellExecuteHookW_FWD_DEFINED__
4236 #define __IShellExecuteHookW_FWD_DEFINED__
4237 typedef struct IShellExecuteHookW IShellExecuteHookW
;
4240 struct _SHELLEXECUTEINFOW
;
4241 /*****************************************************************************
4242 * IShellExecuteHookW interface
4244 #ifndef __IShellExecuteHookW_INTERFACE_DEFINED__
4245 #define __IShellExecuteHookW_INTERFACE_DEFINED__
4247 DEFINE_GUID(IID_IShellExecuteHookW
, 0x000214fb, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4248 #if defined(__cplusplus) && !defined(CINTERFACE)
4249 struct IShellExecuteHookW
: public IUnknown
4251 virtual HRESULT STDMETHODCALLTYPE
Execute(
4252 struct _SHELLEXECUTEINFOW
* pei
) = 0;
4256 typedef struct IShellExecuteHookWVtbl IShellExecuteHookWVtbl
;
4257 struct IShellExecuteHookW
{
4258 const IShellExecuteHookWVtbl
* lpVtbl
;
4260 struct IShellExecuteHookWVtbl
{
4263 /*** IUnknown methods ***/
4264 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
4265 IShellExecuteHookW
* This
,
4269 ULONG (STDMETHODCALLTYPE
*AddRef
)(
4270 IShellExecuteHookW
* This
);
4272 ULONG (STDMETHODCALLTYPE
*Release
)(
4273 IShellExecuteHookW
* This
);
4275 /*** IShellExecuteHookW methods ***/
4276 HRESULT (STDMETHODCALLTYPE
*Execute
)(
4277 IShellExecuteHookW
* This
,
4278 struct _SHELLEXECUTEINFOW
* pei
);
4284 /*** IUnknown methods ***/
4285 #define IShellExecuteHookW_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4286 #define IShellExecuteHookW_AddRef(p) (p)->lpVtbl->AddRef(p)
4287 #define IShellExecuteHookW_Release(p) (p)->lpVtbl->Release(p)
4288 /*** IShellExecuteHookW methods ***/
4289 #define IShellExecuteHookW_Execute(p,a) (p)->lpVtbl->Execute(p,a)
4294 #define IShellExecuteHookW_METHODS \
4295 /*** IUnknown methods ***/ \
4296 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
4297 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
4298 STDMETHOD_(ULONG,Release)(THIS) PURE; \
4299 /*** IShellExecuteHookW methods ***/ \
4300 STDMETHOD_(HRESULT,Execute)(THIS_ struct _SHELLEXECUTEINFOW* pei) PURE;
4302 HRESULT CALLBACK
IShellExecuteHookW_Execute_Proxy(
4303 IShellExecuteHookW
* This
,
4304 struct _SHELLEXECUTEINFOW
* pei
);
4305 void __RPC_STUB
IShellExecuteHookW_Execute_Stub(
4306 struct IRpcStubBuffer
* This
,
4307 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4308 PRPC_MESSAGE pRpcMessage
,
4309 DWORD
* pdwStubPhase
);
4311 #endif /* __IShellExecuteHookW_INTERFACE_DEFINED__ */
4316 #endif /* __WIDL_SHOBJIDL_H */