1 /*** Autogenerated by WIDL 0.1 from shobjidl.idl - Do not edit ***/
5 #ifndef __WIDL_SHOBJIDL_H
6 #define __WIDL_SHOBJIDL_H
17 #ifndef __IPersistFolder_FWD_DEFINED__
18 #define __IPersistFolder_FWD_DEFINED__
19 typedef struct IPersistFolder IPersistFolder
;
22 typedef IPersistFolder
*LPPERSISTFOLDER
;
24 /*****************************************************************************
25 * IPersistFolder interface
27 #ifndef __IPersistFolder_INTERFACE_DEFINED__
28 #define __IPersistFolder_INTERFACE_DEFINED__
30 DEFINE_GUID(IID_IPersistFolder
, 0x000214ea, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
31 #if defined(__cplusplus) && !defined(CINTERFACE)
32 struct IPersistFolder
: public IPersist
34 virtual HRESULT STDMETHODCALLTYPE
Initialize(
35 LPCITEMIDLIST pidl
) = 0;
39 typedef struct IPersistFolderVtbl IPersistFolderVtbl
;
40 struct IPersistFolder
{
41 const IPersistFolderVtbl
* lpVtbl
;
43 struct IPersistFolderVtbl
{
46 /*** IUnknown methods ***/
47 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
52 ULONG (STDMETHODCALLTYPE
*AddRef
)(
53 IPersistFolder
* This
);
55 ULONG (STDMETHODCALLTYPE
*Release
)(
56 IPersistFolder
* This
);
58 /*** IPersist methods ***/
59 HRESULT (STDMETHODCALLTYPE
*GetClassID
)(
63 /*** IPersistFolder methods ***/
64 HRESULT (STDMETHODCALLTYPE
*Initialize
)(
72 /*** IUnknown methods ***/
73 #define IPersistFolder_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
74 #define IPersistFolder_AddRef(p) (p)->lpVtbl->AddRef(p)
75 #define IPersistFolder_Release(p) (p)->lpVtbl->Release(p)
76 /*** IPersist methods ***/
77 #define IPersistFolder_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
78 /*** IPersistFolder methods ***/
79 #define IPersistFolder_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
84 #define IPersistFolder_METHODS \
85 /*** IUnknown methods ***/ \
86 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
87 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
88 STDMETHOD_(ULONG,Release)(THIS) PURE; \
89 /*** IPersist methods ***/ \
90 STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \
91 /*** IPersistFolder methods ***/ \
92 STDMETHOD_(HRESULT,Initialize)(THIS_ LPCITEMIDLIST pidl) PURE;
94 HRESULT CALLBACK
IPersistFolder_Initialize_Proxy(
97 void __RPC_STUB
IPersistFolder_Initialize_Stub(
98 struct IRpcStubBuffer
* This
,
99 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
100 PRPC_MESSAGE pRpcMessage
,
101 DWORD
* pdwStubPhase
);
103 #endif /* __IPersistFolder_INTERFACE_DEFINED__ */
105 #ifndef __IPersistFolder2_FWD_DEFINED__
106 #define __IPersistFolder2_FWD_DEFINED__
107 typedef struct IPersistFolder2 IPersistFolder2
;
110 typedef IPersistFolder2
*LPPERSISTFOLDER2
;
112 /*****************************************************************************
113 * IPersistFolder2 interface
115 #ifndef __IPersistFolder2_INTERFACE_DEFINED__
116 #define __IPersistFolder2_INTERFACE_DEFINED__
118 DEFINE_GUID(IID_IPersistFolder2
, 0x1ac3d9f0, 0x175c, 0x11d1, 0x95,0xbe, 0x00,0x60,0x97,0x97,0xea,0x4f);
119 #if defined(__cplusplus) && !defined(CINTERFACE)
120 struct IPersistFolder2
: public IPersistFolder
122 virtual HRESULT STDMETHODCALLTYPE
GetCurFolder(
123 LPITEMIDLIST
* ppidl
) = 0;
127 typedef struct IPersistFolder2Vtbl IPersistFolder2Vtbl
;
128 struct IPersistFolder2
{
129 const IPersistFolder2Vtbl
* lpVtbl
;
131 struct IPersistFolder2Vtbl
{
134 /*** IUnknown methods ***/
135 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
136 IPersistFolder2
* This
,
140 ULONG (STDMETHODCALLTYPE
*AddRef
)(
141 IPersistFolder2
* This
);
143 ULONG (STDMETHODCALLTYPE
*Release
)(
144 IPersistFolder2
* This
);
146 /*** IPersist methods ***/
147 HRESULT (STDMETHODCALLTYPE
*GetClassID
)(
148 IPersistFolder2
* This
,
151 /*** IPersistFolder methods ***/
152 HRESULT (STDMETHODCALLTYPE
*Initialize
)(
153 IPersistFolder2
* This
,
156 /*** IPersistFolder2 methods ***/
157 HRESULT (STDMETHODCALLTYPE
*GetCurFolder
)(
158 IPersistFolder2
* This
,
159 LPITEMIDLIST
* ppidl
);
165 /*** IUnknown methods ***/
166 #define IPersistFolder2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
167 #define IPersistFolder2_AddRef(p) (p)->lpVtbl->AddRef(p)
168 #define IPersistFolder2_Release(p) (p)->lpVtbl->Release(p)
169 /*** IPersist methods ***/
170 #define IPersistFolder2_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
171 /*** IPersistFolder methods ***/
172 #define IPersistFolder2_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
173 /*** IPersistFolder2 methods ***/
174 #define IPersistFolder2_GetCurFolder(p,a) (p)->lpVtbl->GetCurFolder(p,a)
179 #define IPersistFolder2_METHODS \
180 /*** IUnknown methods ***/ \
181 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
182 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
183 STDMETHOD_(ULONG,Release)(THIS) PURE; \
184 /*** IPersist methods ***/ \
185 STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \
186 /*** IPersistFolder methods ***/ \
187 STDMETHOD_(HRESULT,Initialize)(THIS_ LPCITEMIDLIST pidl) PURE; \
188 /*** IPersistFolder2 methods ***/ \
189 STDMETHOD_(HRESULT,GetCurFolder)(THIS_ LPITEMIDLIST* ppidl) PURE;
191 HRESULT CALLBACK
IPersistFolder2_GetCurFolder_Proxy(
192 IPersistFolder2
* This
,
193 LPITEMIDLIST
* ppidl
);
194 void __RPC_STUB
IPersistFolder2_GetCurFolder_Stub(
195 struct IRpcStubBuffer
* This
,
196 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
197 PRPC_MESSAGE pRpcMessage
,
198 DWORD
* pdwStubPhase
);
200 #endif /* __IPersistFolder2_INTERFACE_DEFINED__ */
202 #ifndef __IEnumIDList_FWD_DEFINED__
203 #define __IEnumIDList_FWD_DEFINED__
204 typedef struct IEnumIDList IEnumIDList
;
207 typedef IEnumIDList
*LPENUMIDLIST
;
209 /*****************************************************************************
210 * IEnumIDList interface
212 #ifndef __IEnumIDList_INTERFACE_DEFINED__
213 #define __IEnumIDList_INTERFACE_DEFINED__
215 DEFINE_GUID(IID_IEnumIDList
, 0x000214f2, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
216 #if defined(__cplusplus) && !defined(CINTERFACE)
217 struct IEnumIDList
: public IUnknown
219 virtual HRESULT STDMETHODCALLTYPE
Next(
222 ULONG
* pceltFetched
) = 0;
224 virtual HRESULT STDMETHODCALLTYPE
Skip(
227 virtual HRESULT STDMETHODCALLTYPE
Reset(
230 virtual HRESULT STDMETHODCALLTYPE
Clone(
231 IEnumIDList
** ppenum
) = 0;
235 typedef struct IEnumIDListVtbl IEnumIDListVtbl
;
237 const IEnumIDListVtbl
* lpVtbl
;
239 struct IEnumIDListVtbl
{
242 /*** IUnknown methods ***/
243 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
248 ULONG (STDMETHODCALLTYPE
*AddRef
)(
251 ULONG (STDMETHODCALLTYPE
*Release
)(
254 /*** IEnumIDList methods ***/
255 HRESULT (STDMETHODCALLTYPE
*Next
)(
259 ULONG
* pceltFetched
);
261 HRESULT (STDMETHODCALLTYPE
*Skip
)(
265 HRESULT (STDMETHODCALLTYPE
*Reset
)(
268 HRESULT (STDMETHODCALLTYPE
*Clone
)(
270 IEnumIDList
** ppenum
);
276 /*** IUnknown methods ***/
277 #define IEnumIDList_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
278 #define IEnumIDList_AddRef(p) (p)->lpVtbl->AddRef(p)
279 #define IEnumIDList_Release(p) (p)->lpVtbl->Release(p)
280 /*** IEnumIDList methods ***/
281 #define IEnumIDList_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
282 #define IEnumIDList_Skip(p,a) (p)->lpVtbl->Skip(p,a)
283 #define IEnumIDList_Reset(p) (p)->lpVtbl->Reset(p)
284 #define IEnumIDList_Clone(p,a) (p)->lpVtbl->Clone(p,a)
289 #define IEnumIDList_METHODS \
290 /*** IUnknown methods ***/ \
291 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
292 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
293 STDMETHOD_(ULONG,Release)(THIS) PURE; \
294 /*** IEnumIDList methods ***/ \
295 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, LPITEMIDLIST* rgelt, ULONG* pceltFetched) PURE; \
296 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
297 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
298 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumIDList** ppenum) PURE;
300 HRESULT CALLBACK
IEnumIDList_Next_Proxy(
304 ULONG
* pceltFetched
);
305 void __RPC_STUB
IEnumIDList_Next_Stub(
306 struct IRpcStubBuffer
* This
,
307 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
308 PRPC_MESSAGE pRpcMessage
,
309 DWORD
* pdwStubPhase
);
310 HRESULT CALLBACK
IEnumIDList_Skip_Proxy(
313 void __RPC_STUB
IEnumIDList_Skip_Stub(
314 struct IRpcStubBuffer
* This
,
315 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
316 PRPC_MESSAGE pRpcMessage
,
317 DWORD
* pdwStubPhase
);
318 HRESULT CALLBACK
IEnumIDList_Reset_Proxy(
320 void __RPC_STUB
IEnumIDList_Reset_Stub(
321 struct IRpcStubBuffer
* This
,
322 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
323 PRPC_MESSAGE pRpcMessage
,
324 DWORD
* pdwStubPhase
);
325 HRESULT CALLBACK
IEnumIDList_Clone_Proxy(
327 IEnumIDList
** ppenum
);
328 void __RPC_STUB
IEnumIDList_Clone_Stub(
329 struct IRpcStubBuffer
* This
,
330 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
331 PRPC_MESSAGE pRpcMessage
,
332 DWORD
* pdwStubPhase
);
334 #endif /* __IEnumIDList_INTERFACE_DEFINED__ */
336 #ifndef __IShellFolder_FWD_DEFINED__
337 #define __IShellFolder_FWD_DEFINED__
338 typedef struct IShellFolder IShellFolder
;
341 typedef IShellFolder
*LPSHELLFOLDER
;
343 typedef enum tagSHGDN
{
346 SHGDN_FOREDITING
= 0x1000,
347 SHGDN_INCLUDE_NONFILESYS
= 0x2000,
348 SHGDN_FORADDRESSBAR
= 0x4000,
349 SHGDN_FORPARSING
= 0x8000
352 typedef DWORD SHGDNF
;
355 SHCONTF_FOLDERS
= 32,
356 SHCONTF_NONFOLDERS
= 64,
357 SHCONTF_INCLUDEHIDDEN
= 128,
358 SHCONTF_INIT_ON_FIRST_NEXT
= 256,
359 SHCONTF_NETPRINTERSRCH
= 512,
360 SHCONTF_SHAREABLE
= 1024,
361 SHCONTF_STORAGE
= 2048
364 typedef DWORD SHCONTF
;
366 #define SFGAO_CANCOPY DROPEFFECT_COPY
367 #define SFGAO_CANMOVE DROPEFFECT_MOVE
368 #define SFGAO_CANLINK DROPEFFECT_LINK
369 #define SFGAO_CANRENAME 0x00000010L
370 #define SFGAO_CANDELETE 0x00000020L
371 #define SFGAO_HASPROPSHEET 0x00000040L
372 #define SFGAO_DROPTARGET 0x00000100L
373 #define SFGAO_CAPABILITYMASK 0x00000177L
374 #define SFGAO_LINK 0x00010000L
375 #define SFGAO_SHARE 0x00020000L
376 #define SFGAO_READONLY 0x00040000L
377 #define SFGAO_GHOSTED 0x00080000L
378 #define SFGAO_HIDDEN 0x00080000L
379 #define SFGAO_DISPLAYATTRMASK 0x000F0000L
380 #define SFGAO_FILESYSANCESTOR 0x10000000L
381 #define SFGAO_FOLDER 0x20000000L
382 #define SFGAO_FILESYSTEM 0x40000000L
383 #define SFGAO_HASSUBFOLDER 0x80000000L
384 #define SFGAO_CONTENTSMASK 0x80000000L
385 #define SFGAO_VALIDATE 0x01000000L
386 #define SFGAO_REMOVABLE 0x02000000L
387 #define SFGAO_COMPRESSED 0x04000000L
388 #define SFGAO_BROWSABLE 0x08000000L
389 #define SFGAO_NONENUMERATED 0x00100000L
390 #define SFGAO_NEWCONTENT 0x00200000L
391 typedef ULONG SFGAOF
;
393 /*****************************************************************************
394 * IShellFolder interface
396 #ifndef __IShellFolder_INTERFACE_DEFINED__
397 #define __IShellFolder_INTERFACE_DEFINED__
399 DEFINE_GUID(IID_IShellFolder
, 0x000214e6, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
400 #if defined(__cplusplus) && !defined(CINTERFACE)
401 struct IShellFolder
: public IUnknown
403 virtual HRESULT STDMETHODCALLTYPE
ParseDisplayName(
406 LPOLESTR lpszDisplayName
,
409 ULONG
* pdwAttributes
) = 0;
411 virtual HRESULT STDMETHODCALLTYPE
EnumObjects(
414 IEnumIDList
** ppenumIDList
) = 0;
416 virtual HRESULT STDMETHODCALLTYPE
BindToObject(
422 virtual HRESULT STDMETHODCALLTYPE
BindToStorage(
428 virtual HRESULT STDMETHODCALLTYPE
CompareIDs(
431 LPCITEMIDLIST pidl2
) = 0;
433 virtual HRESULT STDMETHODCALLTYPE
CreateViewObject(
438 virtual HRESULT STDMETHODCALLTYPE
GetAttributesOf(
440 LPCITEMIDLIST
* apidl
,
441 SFGAOF
* rgfInOut
) = 0;
443 virtual HRESULT STDMETHODCALLTYPE
GetUIObjectOf(
446 LPCITEMIDLIST
* apidl
,
451 virtual HRESULT STDMETHODCALLTYPE
GetDisplayNameOf(
456 virtual HRESULT STDMETHODCALLTYPE
SetNameOf(
461 LPITEMIDLIST
* ppidlOut
) = 0;
465 typedef struct IShellFolderVtbl IShellFolderVtbl
;
466 struct IShellFolder
{
467 const IShellFolderVtbl
* lpVtbl
;
469 struct IShellFolderVtbl
{
472 /*** IUnknown methods ***/
473 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
478 ULONG (STDMETHODCALLTYPE
*AddRef
)(
481 ULONG (STDMETHODCALLTYPE
*Release
)(
484 /*** IShellFolder methods ***/
485 HRESULT (STDMETHODCALLTYPE
*ParseDisplayName
)(
489 LPOLESTR lpszDisplayName
,
492 ULONG
* pdwAttributes
);
494 HRESULT (STDMETHODCALLTYPE
*EnumObjects
)(
498 IEnumIDList
** ppenumIDList
);
500 HRESULT (STDMETHODCALLTYPE
*BindToObject
)(
507 HRESULT (STDMETHODCALLTYPE
*BindToStorage
)(
514 HRESULT (STDMETHODCALLTYPE
*CompareIDs
)(
518 LPCITEMIDLIST pidl2
);
520 HRESULT (STDMETHODCALLTYPE
*CreateViewObject
)(
526 HRESULT (STDMETHODCALLTYPE
*GetAttributesOf
)(
529 LPCITEMIDLIST
* apidl
,
532 HRESULT (STDMETHODCALLTYPE
*GetUIObjectOf
)(
536 LPCITEMIDLIST
* apidl
,
541 HRESULT (STDMETHODCALLTYPE
*GetDisplayNameOf
)(
547 HRESULT (STDMETHODCALLTYPE
*SetNameOf
)(
553 LPITEMIDLIST
* ppidlOut
);
559 /*** IUnknown methods ***/
560 #define IShellFolder_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
561 #define IShellFolder_AddRef(p) (p)->lpVtbl->AddRef(p)
562 #define IShellFolder_Release(p) (p)->lpVtbl->Release(p)
563 /*** IShellFolder methods ***/
564 #define IShellFolder_ParseDisplayName(p,a,b,c,d,e,f) (p)->lpVtbl->ParseDisplayName(p,a,b,c,d,e,f)
565 #define IShellFolder_EnumObjects(p,a,b,c) (p)->lpVtbl->EnumObjects(p,a,b,c)
566 #define IShellFolder_BindToObject(p,a,b,c,d) (p)->lpVtbl->BindToObject(p,a,b,c,d)
567 #define IShellFolder_BindToStorage(p,a,b,c,d) (p)->lpVtbl->BindToStorage(p,a,b,c,d)
568 #define IShellFolder_CompareIDs(p,a,b,c) (p)->lpVtbl->CompareIDs(p,a,b,c)
569 #define IShellFolder_CreateViewObject(p,a,b,c) (p)->lpVtbl->CreateViewObject(p,a,b,c)
570 #define IShellFolder_GetAttributesOf(p,a,b,c) (p)->lpVtbl->GetAttributesOf(p,a,b,c)
571 #define IShellFolder_GetUIObjectOf(p,a,b,c,d,e,f) (p)->lpVtbl->GetUIObjectOf(p,a,b,c,d,e,f)
572 #define IShellFolder_GetDisplayNameOf(p,a,b,c) (p)->lpVtbl->GetDisplayNameOf(p,a,b,c)
573 #define IShellFolder_SetNameOf(p,a,b,c,d,e) (p)->lpVtbl->SetNameOf(p,a,b,c,d,e)
578 #define IShellFolder_METHODS \
579 /*** IUnknown methods ***/ \
580 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
581 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
582 STDMETHOD_(ULONG,Release)(THIS) PURE; \
583 /*** IShellFolder methods ***/ \
584 STDMETHOD_(HRESULT,ParseDisplayName)(THIS_ HWND hwndOwner, LPBC pbcReserved, LPOLESTR lpszDisplayName, ULONG* pchEaten, LPITEMIDLIST* ppidl, ULONG* pdwAttributes) PURE; \
585 STDMETHOD_(HRESULT,EnumObjects)(THIS_ HWND hwndOwner, SHCONTF grfFlags, IEnumIDList** ppenumIDList) PURE; \
586 STDMETHOD_(HRESULT,BindToObject)(THIS_ LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, void** ppvOut) PURE; \
587 STDMETHOD_(HRESULT,BindToStorage)(THIS_ LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, void** ppvObj) PURE; \
588 STDMETHOD_(HRESULT,CompareIDs)(THIS_ LPARAM lParam, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2) PURE; \
589 STDMETHOD_(HRESULT,CreateViewObject)(THIS_ HWND hwndOwner, REFIID riid, void** ppvOut) PURE; \
590 STDMETHOD_(HRESULT,GetAttributesOf)(THIS_ UINT cidl, LPCITEMIDLIST* apidl, SFGAOF* rgfInOut) PURE; \
591 STDMETHOD_(HRESULT,GetUIObjectOf)(THIS_ HWND hwndOwner, UINT cidl, LPCITEMIDLIST* apidl, REFIID riid, UINT* prgfInOut, void** ppvOut) PURE; \
592 STDMETHOD_(HRESULT,GetDisplayNameOf)(THIS_ LPCITEMIDLIST pidl, SHGDNF uFlags, STRRET* lpName) PURE; \
593 STDMETHOD_(HRESULT,SetNameOf)(THIS_ HWND hwnd, LPCITEMIDLIST pidl, LPCOLESTR lpszName, SHGDNF uFlags, LPITEMIDLIST* ppidlOut) PURE;
595 HRESULT CALLBACK
IShellFolder_ParseDisplayName_Proxy(
599 LPOLESTR lpszDisplayName
,
602 ULONG
* pdwAttributes
);
603 void __RPC_STUB
IShellFolder_ParseDisplayName_Stub(
604 struct IRpcStubBuffer
* This
,
605 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
606 PRPC_MESSAGE pRpcMessage
,
607 DWORD
* pdwStubPhase
);
608 HRESULT CALLBACK
IShellFolder_EnumObjects_Proxy(
612 IEnumIDList
** ppenumIDList
);
613 void __RPC_STUB
IShellFolder_EnumObjects_Stub(
614 struct IRpcStubBuffer
* This
,
615 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
616 PRPC_MESSAGE pRpcMessage
,
617 DWORD
* pdwStubPhase
);
618 HRESULT CALLBACK
IShellFolder_BindToObject_Proxy(
624 void __RPC_STUB
IShellFolder_BindToObject_Stub(
625 struct IRpcStubBuffer
* This
,
626 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
627 PRPC_MESSAGE pRpcMessage
,
628 DWORD
* pdwStubPhase
);
629 HRESULT CALLBACK
IShellFolder_BindToStorage_Proxy(
635 void __RPC_STUB
IShellFolder_BindToStorage_Stub(
636 struct IRpcStubBuffer
* This
,
637 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
638 PRPC_MESSAGE pRpcMessage
,
639 DWORD
* pdwStubPhase
);
640 HRESULT CALLBACK
IShellFolder_CompareIDs_Proxy(
644 LPCITEMIDLIST pidl2
);
645 void __RPC_STUB
IShellFolder_CompareIDs_Stub(
646 struct IRpcStubBuffer
* This
,
647 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
648 PRPC_MESSAGE pRpcMessage
,
649 DWORD
* pdwStubPhase
);
650 HRESULT CALLBACK
IShellFolder_CreateViewObject_Proxy(
655 void __RPC_STUB
IShellFolder_CreateViewObject_Stub(
656 struct IRpcStubBuffer
* This
,
657 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
658 PRPC_MESSAGE pRpcMessage
,
659 DWORD
* pdwStubPhase
);
660 HRESULT CALLBACK
IShellFolder_GetAttributesOf_Proxy(
663 LPCITEMIDLIST
* apidl
,
665 void __RPC_STUB
IShellFolder_GetAttributesOf_Stub(
666 struct IRpcStubBuffer
* This
,
667 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
668 PRPC_MESSAGE pRpcMessage
,
669 DWORD
* pdwStubPhase
);
670 HRESULT CALLBACK
IShellFolder_GetUIObjectOf_Proxy(
674 LPCITEMIDLIST
* apidl
,
678 void __RPC_STUB
IShellFolder_GetUIObjectOf_Stub(
679 struct IRpcStubBuffer
* This
,
680 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
681 PRPC_MESSAGE pRpcMessage
,
682 DWORD
* pdwStubPhase
);
683 HRESULT CALLBACK
IShellFolder_GetDisplayNameOf_Proxy(
688 void __RPC_STUB
IShellFolder_GetDisplayNameOf_Stub(
689 struct IRpcStubBuffer
* This
,
690 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
691 PRPC_MESSAGE pRpcMessage
,
692 DWORD
* pdwStubPhase
);
693 HRESULT CALLBACK
IShellFolder_SetNameOf_Proxy(
699 LPITEMIDLIST
* ppidlOut
);
700 void __RPC_STUB
IShellFolder_SetNameOf_Stub(
701 struct IRpcStubBuffer
* This
,
702 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
703 PRPC_MESSAGE pRpcMessage
,
704 DWORD
* pdwStubPhase
);
706 #endif /* __IShellFolder_INTERFACE_DEFINED__ */
708 #ifndef __IEnumExtraSearch_FWD_DEFINED__
709 #define __IEnumExtraSearch_FWD_DEFINED__
710 typedef struct IEnumExtraSearch IEnumExtraSearch
;
713 typedef IEnumExtraSearch
*LPENUMEXTRASEARCH
;
717 WCHAR wszFriendlyName
[80];
719 } EXTRASEARCH
, *LPEXTRASEARCH
;
721 /*****************************************************************************
722 * IEnumExtraSearch interface
724 #ifndef __IEnumExtraSearch_INTERFACE_DEFINED__
725 #define __IEnumExtraSearch_INTERFACE_DEFINED__
727 DEFINE_GUID(IID_IEnumExtraSearch
, 0x0e700be1, 0x9db6, 0x11d1, 0xa1,0xce, 0x00,0xc0,0x4f,0xd7,0x5d,0x13);
728 #if defined(__cplusplus) && !defined(CINTERFACE)
729 struct IEnumExtraSearch
: public IUnknown
731 virtual HRESULT STDMETHODCALLTYPE
Next(
734 ULONG
* pceltFetched
) = 0;
736 virtual HRESULT STDMETHODCALLTYPE
Skip(
739 virtual HRESULT STDMETHODCALLTYPE
Reset(
742 virtual HRESULT STDMETHODCALLTYPE
Clone(
743 IEnumExtraSearch
** ppenum
) = 0;
747 typedef struct IEnumExtraSearchVtbl IEnumExtraSearchVtbl
;
748 struct IEnumExtraSearch
{
749 const IEnumExtraSearchVtbl
* lpVtbl
;
751 struct IEnumExtraSearchVtbl
{
754 /*** IUnknown methods ***/
755 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
756 IEnumExtraSearch
* This
,
760 ULONG (STDMETHODCALLTYPE
*AddRef
)(
761 IEnumExtraSearch
* This
);
763 ULONG (STDMETHODCALLTYPE
*Release
)(
764 IEnumExtraSearch
* This
);
766 /*** IEnumExtraSearch methods ***/
767 HRESULT (STDMETHODCALLTYPE
*Next
)(
768 IEnumExtraSearch
* This
,
771 ULONG
* pceltFetched
);
773 HRESULT (STDMETHODCALLTYPE
*Skip
)(
774 IEnumExtraSearch
* This
,
777 HRESULT (STDMETHODCALLTYPE
*Reset
)(
778 IEnumExtraSearch
* This
);
780 HRESULT (STDMETHODCALLTYPE
*Clone
)(
781 IEnumExtraSearch
* This
,
782 IEnumExtraSearch
** ppenum
);
788 /*** IUnknown methods ***/
789 #define IEnumExtraSearch_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
790 #define IEnumExtraSearch_AddRef(p) (p)->lpVtbl->AddRef(p)
791 #define IEnumExtraSearch_Release(p) (p)->lpVtbl->Release(p)
792 /*** IEnumExtraSearch methods ***/
793 #define IEnumExtraSearch_Next(p,a,b,c) (p)->lpVtbl->Next(p,a,b,c)
794 #define IEnumExtraSearch_Skip(p,a) (p)->lpVtbl->Skip(p,a)
795 #define IEnumExtraSearch_Reset(p) (p)->lpVtbl->Reset(p)
796 #define IEnumExtraSearch_Clone(p,a) (p)->lpVtbl->Clone(p,a)
801 #define IEnumExtraSearch_METHODS \
802 /*** IUnknown methods ***/ \
803 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
804 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
805 STDMETHOD_(ULONG,Release)(THIS) PURE; \
806 /*** IEnumExtraSearch methods ***/ \
807 STDMETHOD_(HRESULT,Next)(THIS_ ULONG celt, EXTRASEARCH* rgelt, ULONG* pceltFetched) PURE; \
808 STDMETHOD_(HRESULT,Skip)(THIS_ ULONG celt) PURE; \
809 STDMETHOD_(HRESULT,Reset)(THIS) PURE; \
810 STDMETHOD_(HRESULT,Clone)(THIS_ IEnumExtraSearch** ppenum) PURE;
812 HRESULT CALLBACK
IEnumExtraSearch_Next_Proxy(
813 IEnumExtraSearch
* This
,
816 ULONG
* pceltFetched
);
817 void __RPC_STUB
IEnumExtraSearch_Next_Stub(
818 struct IRpcStubBuffer
* This
,
819 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
820 PRPC_MESSAGE pRpcMessage
,
821 DWORD
* pdwStubPhase
);
822 HRESULT CALLBACK
IEnumExtraSearch_Skip_Proxy(
823 IEnumExtraSearch
* This
,
825 void __RPC_STUB
IEnumExtraSearch_Skip_Stub(
826 struct IRpcStubBuffer
* This
,
827 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
828 PRPC_MESSAGE pRpcMessage
,
829 DWORD
* pdwStubPhase
);
830 HRESULT CALLBACK
IEnumExtraSearch_Reset_Proxy(
831 IEnumExtraSearch
* This
);
832 void __RPC_STUB
IEnumExtraSearch_Reset_Stub(
833 struct IRpcStubBuffer
* This
,
834 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
835 PRPC_MESSAGE pRpcMessage
,
836 DWORD
* pdwStubPhase
);
837 HRESULT CALLBACK
IEnumExtraSearch_Clone_Proxy(
838 IEnumExtraSearch
* This
,
839 IEnumExtraSearch
** ppenum
);
840 void __RPC_STUB
IEnumExtraSearch_Clone_Stub(
841 struct IRpcStubBuffer
* This
,
842 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
843 PRPC_MESSAGE pRpcMessage
,
844 DWORD
* pdwStubPhase
);
846 #endif /* __IEnumExtraSearch_INTERFACE_DEFINED__ */
848 #ifndef __IShellFolder2_FWD_DEFINED__
849 #define __IShellFolder2_FWD_DEFINED__
850 typedef struct IShellFolder2 IShellFolder2
;
854 SHCOLSTATE_TYPE_STR
= 0x1,
855 SHCOLSTATE_TYPE_INT
= 0x2,
856 SHCOLSTATE_TYPE_DATE
= 0x3,
857 SHCOLSTATE_TYPEMASK
= 0xf,
858 SHCOLSTATE_ONBYDEFAULT
= 0x10,
859 SHCOLSTATE_SLOW
= 0x20,
860 SHCOLSTATE_EXTENDED
= 0x40,
861 SHCOLSTATE_SECONDARYUI
= 0x80,
862 SHCOLSTATE_HIDDEN
= 0x100,
863 SHCOLSTATE_PREFER_VARCMP
= 0x200
866 typedef DWORD SHCOLSTATEF
;
871 } SHCOLUMNID
, *LPSHCOLUMNID
;
873 typedef const SHCOLUMNID
*LPCSHCOLUMNID
;
875 /*****************************************************************************
876 * IShellFolder2 interface
878 #ifndef __IShellFolder2_INTERFACE_DEFINED__
879 #define __IShellFolder2_INTERFACE_DEFINED__
881 DEFINE_GUID(IID_IShellFolder2
, 0x93f2f68c, 0x1d1b, 0x11d3, 0xa3,0x0e, 0x00,0xc0,0x4f,0x79,0xab,0xd1);
882 #if defined(__cplusplus) && !defined(CINTERFACE)
883 struct IShellFolder2
: public IShellFolder
885 virtual HRESULT STDMETHODCALLTYPE
GetDefaultSearchGUID(
888 virtual HRESULT STDMETHODCALLTYPE
EnumSearches(
889 IEnumExtraSearch
** ppenum
) = 0;
891 virtual HRESULT STDMETHODCALLTYPE
GetDefaultColumn(
894 ULONG
* pDisplay
) = 0;
896 virtual HRESULT STDMETHODCALLTYPE
GetDefaultColumnState(
898 SHCOLSTATEF
* pcsFlags
) = 0;
900 virtual HRESULT STDMETHODCALLTYPE
GetDetailsEx(
902 const SHCOLUMNID
* pscid
,
905 virtual HRESULT STDMETHODCALLTYPE
GetDetailsOf(
908 SHELLDETAILS
* psd
) = 0;
910 virtual HRESULT STDMETHODCALLTYPE
MapColumnToSCID(
912 SHCOLUMNID
* pscid
) = 0;
916 typedef struct IShellFolder2Vtbl IShellFolder2Vtbl
;
917 struct IShellFolder2
{
918 const IShellFolder2Vtbl
* lpVtbl
;
920 struct IShellFolder2Vtbl
{
923 /*** IUnknown methods ***/
924 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
929 ULONG (STDMETHODCALLTYPE
*AddRef
)(
930 IShellFolder2
* This
);
932 ULONG (STDMETHODCALLTYPE
*Release
)(
933 IShellFolder2
* This
);
935 /*** IShellFolder methods ***/
936 HRESULT (STDMETHODCALLTYPE
*ParseDisplayName
)(
940 LPOLESTR lpszDisplayName
,
943 ULONG
* pdwAttributes
);
945 HRESULT (STDMETHODCALLTYPE
*EnumObjects
)(
949 IEnumIDList
** ppenumIDList
);
951 HRESULT (STDMETHODCALLTYPE
*BindToObject
)(
958 HRESULT (STDMETHODCALLTYPE
*BindToStorage
)(
965 HRESULT (STDMETHODCALLTYPE
*CompareIDs
)(
969 LPCITEMIDLIST pidl2
);
971 HRESULT (STDMETHODCALLTYPE
*CreateViewObject
)(
977 HRESULT (STDMETHODCALLTYPE
*GetAttributesOf
)(
980 LPCITEMIDLIST
* apidl
,
983 HRESULT (STDMETHODCALLTYPE
*GetUIObjectOf
)(
987 LPCITEMIDLIST
* apidl
,
992 HRESULT (STDMETHODCALLTYPE
*GetDisplayNameOf
)(
998 HRESULT (STDMETHODCALLTYPE
*SetNameOf
)(
1004 LPITEMIDLIST
* ppidlOut
);
1006 /*** IShellFolder2 methods ***/
1007 HRESULT (STDMETHODCALLTYPE
*GetDefaultSearchGUID
)(
1008 IShellFolder2
* This
,
1011 HRESULT (STDMETHODCALLTYPE
*EnumSearches
)(
1012 IShellFolder2
* This
,
1013 IEnumExtraSearch
** ppenum
);
1015 HRESULT (STDMETHODCALLTYPE
*GetDefaultColumn
)(
1016 IShellFolder2
* This
,
1021 HRESULT (STDMETHODCALLTYPE
*GetDefaultColumnState
)(
1022 IShellFolder2
* This
,
1024 SHCOLSTATEF
* pcsFlags
);
1026 HRESULT (STDMETHODCALLTYPE
*GetDetailsEx
)(
1027 IShellFolder2
* This
,
1029 const SHCOLUMNID
* pscid
,
1032 HRESULT (STDMETHODCALLTYPE
*GetDetailsOf
)(
1033 IShellFolder2
* This
,
1038 HRESULT (STDMETHODCALLTYPE
*MapColumnToSCID
)(
1039 IShellFolder2
* This
,
1047 /*** IUnknown methods ***/
1048 #define IShellFolder2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1049 #define IShellFolder2_AddRef(p) (p)->lpVtbl->AddRef(p)
1050 #define IShellFolder2_Release(p) (p)->lpVtbl->Release(p)
1051 /*** IShellFolder methods ***/
1052 #define IShellFolder2_ParseDisplayName(p,a,b,c,d,e,f) (p)->lpVtbl->ParseDisplayName(p,a,b,c,d,e,f)
1053 #define IShellFolder2_EnumObjects(p,a,b,c) (p)->lpVtbl->EnumObjects(p,a,b,c)
1054 #define IShellFolder2_BindToObject(p,a,b,c,d) (p)->lpVtbl->BindToObject(p,a,b,c,d)
1055 #define IShellFolder2_BindToStorage(p,a,b,c,d) (p)->lpVtbl->BindToStorage(p,a,b,c,d)
1056 #define IShellFolder2_CompareIDs(p,a,b,c) (p)->lpVtbl->CompareIDs(p,a,b,c)
1057 #define IShellFolder2_CreateViewObject(p,a,b,c) (p)->lpVtbl->CreateViewObject(p,a,b,c)
1058 #define IShellFolder2_GetAttributesOf(p,a,b,c) (p)->lpVtbl->GetAttributesOf(p,a,b,c)
1059 #define IShellFolder2_GetUIObjectOf(p,a,b,c,d,e,f) (p)->lpVtbl->GetUIObjectOf(p,a,b,c,d,e,f)
1060 #define IShellFolder2_GetDisplayNameOf(p,a,b,c) (p)->lpVtbl->GetDisplayNameOf(p,a,b,c)
1061 #define IShellFolder2_SetNameOf(p,a,b,c,d,e) (p)->lpVtbl->SetNameOf(p,a,b,c,d,e)
1062 /*** IShellFolder2 methods ***/
1063 #define IShellFolder2_GetDefaultSearchGUID(p,a) (p)->lpVtbl->GetDefaultSearchGUID(p,a)
1064 #define IShellFolder2_EnumSearches(p,a) (p)->lpVtbl->EnumSearches(p,a)
1065 #define IShellFolder2_GetDefaultColumn(p,a,b,c) (p)->lpVtbl->GetDefaultColumn(p,a,b,c)
1066 #define IShellFolder2_GetDefaultColumnState(p,a,b) (p)->lpVtbl->GetDefaultColumnState(p,a,b)
1067 #define IShellFolder2_GetDetailsEx(p,a,b,c) (p)->lpVtbl->GetDetailsEx(p,a,b,c)
1068 #define IShellFolder2_GetDetailsOf(p,a,b,c) (p)->lpVtbl->GetDetailsOf(p,a,b,c)
1069 #define IShellFolder2_MapColumnToSCID(p,a,b) (p)->lpVtbl->MapColumnToSCID(p,a,b)
1074 #define IShellFolder2_METHODS \
1075 /*** IUnknown methods ***/ \
1076 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1077 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1078 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1079 /*** IShellFolder methods ***/ \
1080 STDMETHOD_(HRESULT,ParseDisplayName)(THIS_ HWND hwndOwner, LPBC pbcReserved, LPOLESTR lpszDisplayName, ULONG* pchEaten, LPITEMIDLIST* ppidl, ULONG* pdwAttributes) PURE; \
1081 STDMETHOD_(HRESULT,EnumObjects)(THIS_ HWND hwndOwner, SHCONTF grfFlags, IEnumIDList** ppenumIDList) PURE; \
1082 STDMETHOD_(HRESULT,BindToObject)(THIS_ LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, void** ppvOut) PURE; \
1083 STDMETHOD_(HRESULT,BindToStorage)(THIS_ LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, void** ppvObj) PURE; \
1084 STDMETHOD_(HRESULT,CompareIDs)(THIS_ LPARAM lParam, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2) PURE; \
1085 STDMETHOD_(HRESULT,CreateViewObject)(THIS_ HWND hwndOwner, REFIID riid, void** ppvOut) PURE; \
1086 STDMETHOD_(HRESULT,GetAttributesOf)(THIS_ UINT cidl, LPCITEMIDLIST* apidl, SFGAOF* rgfInOut) PURE; \
1087 STDMETHOD_(HRESULT,GetUIObjectOf)(THIS_ HWND hwndOwner, UINT cidl, LPCITEMIDLIST* apidl, REFIID riid, UINT* prgfInOut, void** ppvOut) PURE; \
1088 STDMETHOD_(HRESULT,GetDisplayNameOf)(THIS_ LPCITEMIDLIST pidl, SHGDNF uFlags, STRRET* lpName) PURE; \
1089 STDMETHOD_(HRESULT,SetNameOf)(THIS_ HWND hwnd, LPCITEMIDLIST pidl, LPCOLESTR lpszName, SHGDNF uFlags, LPITEMIDLIST* ppidlOut) PURE; \
1090 /*** IShellFolder2 methods ***/ \
1091 STDMETHOD_(HRESULT,GetDefaultSearchGUID)(THIS_ GUID* lpguid) PURE; \
1092 STDMETHOD_(HRESULT,EnumSearches)(THIS_ IEnumExtraSearch** ppenum) PURE; \
1093 STDMETHOD_(HRESULT,GetDefaultColumn)(THIS_ DWORD dwReserved, ULONG* pSort, ULONG* pDisplay) PURE; \
1094 STDMETHOD_(HRESULT,GetDefaultColumnState)(THIS_ UINT iColumn, SHCOLSTATEF* pcsFlags) PURE; \
1095 STDMETHOD_(HRESULT,GetDetailsEx)(THIS_ LPCITEMIDLIST pidl, const SHCOLUMNID* pscid, VARIANT* pv) PURE; \
1096 STDMETHOD_(HRESULT,GetDetailsOf)(THIS_ LPCITEMIDLIST pidl, UINT iColumn, SHELLDETAILS* psd) PURE; \
1097 STDMETHOD_(HRESULT,MapColumnToSCID)(THIS_ UINT iColumn, SHCOLUMNID* pscid) PURE;
1099 HRESULT CALLBACK
IShellFolder2_GetDefaultSearchGUID_Proxy(
1100 IShellFolder2
* This
,
1102 void __RPC_STUB
IShellFolder2_GetDefaultSearchGUID_Stub(
1103 struct IRpcStubBuffer
* This
,
1104 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1105 PRPC_MESSAGE pRpcMessage
,
1106 DWORD
* pdwStubPhase
);
1107 HRESULT CALLBACK
IShellFolder2_EnumSearches_Proxy(
1108 IShellFolder2
* This
,
1109 IEnumExtraSearch
** ppenum
);
1110 void __RPC_STUB
IShellFolder2_EnumSearches_Stub(
1111 struct IRpcStubBuffer
* This
,
1112 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1113 PRPC_MESSAGE pRpcMessage
,
1114 DWORD
* pdwStubPhase
);
1115 HRESULT CALLBACK
IShellFolder2_GetDefaultColumn_Proxy(
1116 IShellFolder2
* This
,
1120 void __RPC_STUB
IShellFolder2_GetDefaultColumn_Stub(
1121 struct IRpcStubBuffer
* This
,
1122 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1123 PRPC_MESSAGE pRpcMessage
,
1124 DWORD
* pdwStubPhase
);
1125 HRESULT CALLBACK
IShellFolder2_GetDefaultColumnState_Proxy(
1126 IShellFolder2
* This
,
1128 SHCOLSTATEF
* pcsFlags
);
1129 void __RPC_STUB
IShellFolder2_GetDefaultColumnState_Stub(
1130 struct IRpcStubBuffer
* This
,
1131 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1132 PRPC_MESSAGE pRpcMessage
,
1133 DWORD
* pdwStubPhase
);
1134 HRESULT CALLBACK
IShellFolder2_GetDetailsEx_Proxy(
1135 IShellFolder2
* This
,
1137 const SHCOLUMNID
* pscid
,
1139 void __RPC_STUB
IShellFolder2_GetDetailsEx_Stub(
1140 struct IRpcStubBuffer
* This
,
1141 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1142 PRPC_MESSAGE pRpcMessage
,
1143 DWORD
* pdwStubPhase
);
1144 HRESULT CALLBACK
IShellFolder2_GetDetailsOf_Proxy(
1145 IShellFolder2
* This
,
1149 void __RPC_STUB
IShellFolder2_GetDetailsOf_Stub(
1150 struct IRpcStubBuffer
* This
,
1151 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1152 PRPC_MESSAGE pRpcMessage
,
1153 DWORD
* pdwStubPhase
);
1154 HRESULT CALLBACK
IShellFolder2_MapColumnToSCID_Proxy(
1155 IShellFolder2
* This
,
1158 void __RPC_STUB
IShellFolder2_MapColumnToSCID_Stub(
1159 struct IRpcStubBuffer
* This
,
1160 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1161 PRPC_MESSAGE pRpcMessage
,
1162 DWORD
* pdwStubPhase
);
1164 #endif /* __IShellFolder2_INTERFACE_DEFINED__ */
1166 typedef char *LPVIEWSETTINGS
;
1169 FWF_AUTOARRANGE
= 0x1,
1170 FWF_ABBREVIATEDNAMES
= 0x2,
1171 FWF_SNAPTOGRID
= 0x4,
1172 FWF_OWNERDATA
= 0x8,
1173 FWF_BESTFITWINDOW
= 0x10,
1175 FWF_SINGLESEL
= 0x40,
1176 FWF_NOSUBFOLDERS
= 0x80,
1177 FWF_TRANSPARENT
= 0x100,
1178 FWF_NOCLIENTEDGE
= 0x200,
1179 FWF_NOSCROLL
= 0x400,
1180 FWF_ALIGNLEFT
= 0x800,
1181 FWF_NOICONS
= 0x1000,
1182 FWF_SHOWSELALWAYS
= 0x2000,
1183 FWF_NOVISIBLE
= 0x4000,
1184 FWF_SINGLECLICKACTIVATE
= 0x8000,
1185 FWF_NOWEBVIEW
= 0x10000,
1186 FWF_HIDEFILENAMES
= 0x20000,
1187 FWF_CHECKSELECT
= 0x40000
1192 FVM_FIRST
= FVM_ICON
,
1199 FVM_LAST
= FVM_THUMBSTRIP
1205 } FOLDERSETTINGS
, *PFOLDERSETTINGS
, *LPFOLDERSETTINGS
;
1207 typedef const FOLDERSETTINGS
*LPCFOLDERSETTINGS
;
1209 #ifndef __IShellBrowser_FWD_DEFINED__
1210 #define __IShellBrowser_FWD_DEFINED__
1211 typedef struct IShellBrowser IShellBrowser
;
1214 #ifndef __IShellView_FWD_DEFINED__
1215 #define __IShellView_FWD_DEFINED__
1216 typedef struct IShellView IShellView
;
1219 typedef IShellView
*LPSHELLVIEW
;
1221 #define SVSI_DESELECT 0x00000000
1222 #define SVSI_SELECT 0x00000001
1223 #define SVSI_EDIT 0x00000003
1224 #define SVSI_DESELECTOTHERS 0x00000004
1225 #define SVSI_ENSUREVISIBLE 0x00000008
1226 #define SVSI_FOCUSED 0x00000010
1227 #define SVSI_TRANSLATEPT 0x00000020
1228 #define SVSI_SELECTIONMARK 0x00000040
1229 #define SVSI_POSITIONITEM 0x00000080
1230 #define SVSI_CHECK 0x00000100
1231 #define SVSI_NOSTATECHANGE 0x80000000
1235 SVGIO_BACKGROUND
= 0x0,
1236 SVGIO_SELECTION
= 0x1,
1237 SVGIO_ALLVIEW
= 0x2,
1238 SVGIO_CHECKED
= 0x3,
1239 SVGIO_TYPE_MASK
= 0xf,
1240 SVGIO_FLAG_VIEWORDER
= 0x80000000
1244 SVUIA_DEACTIVATE
= 0,
1245 SVUIA_ACTIVATE_NOFOCUS
= 1,
1246 SVUIA_ACTIVATE_FOCUS
= 2,
1247 SVUIA_INPLACEACTIVATE
= 3
1251 typedef LPARAM LPFNSVADDPROPSHEETPAGE
;
1255 typedef LPFNADDPROPSHEETPAGE LPFNSVADDPROPSHEETPAGE
;
1257 /*****************************************************************************
1258 * IShellView interface
1260 #ifndef __IShellView_INTERFACE_DEFINED__
1261 #define __IShellView_INTERFACE_DEFINED__
1263 DEFINE_GUID(IID_IShellView
, 0x000214e3, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1264 #if defined(__cplusplus) && !defined(CINTERFACE)
1265 struct IShellView
: public IOleWindow
1267 virtual HRESULT STDMETHODCALLTYPE
TranslateAccelerator(
1270 virtual HRESULT STDMETHODCALLTYPE
EnableModeless(
1273 virtual HRESULT STDMETHODCALLTYPE
UIActivate(
1276 virtual HRESULT STDMETHODCALLTYPE
Refresh(
1279 virtual HRESULT STDMETHODCALLTYPE
CreateViewWindow(
1280 IShellView
* psvPrevious
,
1281 LPCFOLDERSETTINGS lpfs
,
1286 virtual HRESULT STDMETHODCALLTYPE
DestroyViewWindow(
1289 virtual HRESULT STDMETHODCALLTYPE
GetCurrentInfo(
1290 LPFOLDERSETTINGS lpfs
) = 0;
1292 virtual HRESULT STDMETHODCALLTYPE
AddPropertySheetPages(
1294 LPFNSVADDPROPSHEETPAGE pfn
,
1297 virtual HRESULT STDMETHODCALLTYPE
SaveViewState(
1300 virtual HRESULT STDMETHODCALLTYPE
SelectItem(
1301 LPCITEMIDLIST pidlItem
,
1304 virtual HRESULT STDMETHODCALLTYPE
GetItemObject(
1311 typedef struct IShellViewVtbl IShellViewVtbl
;
1313 const IShellViewVtbl
* lpVtbl
;
1315 struct IShellViewVtbl
{
1318 /*** IUnknown methods ***/
1319 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
1324 ULONG (STDMETHODCALLTYPE
*AddRef
)(
1327 ULONG (STDMETHODCALLTYPE
*Release
)(
1330 /*** IOleWindow methods ***/
1331 HRESULT (STDMETHODCALLTYPE
*GetWindow
)(
1335 HRESULT (STDMETHODCALLTYPE
*ContextSensitiveHelp
)(
1339 /*** IShellView methods ***/
1340 HRESULT (STDMETHODCALLTYPE
*TranslateAccelerator
)(
1344 HRESULT (STDMETHODCALLTYPE
*EnableModeless
)(
1348 HRESULT (STDMETHODCALLTYPE
*UIActivate
)(
1352 HRESULT (STDMETHODCALLTYPE
*Refresh
)(
1355 HRESULT (STDMETHODCALLTYPE
*CreateViewWindow
)(
1357 IShellView
* psvPrevious
,
1358 LPCFOLDERSETTINGS lpfs
,
1363 HRESULT (STDMETHODCALLTYPE
*DestroyViewWindow
)(
1366 HRESULT (STDMETHODCALLTYPE
*GetCurrentInfo
)(
1368 LPFOLDERSETTINGS lpfs
);
1370 HRESULT (STDMETHODCALLTYPE
*AddPropertySheetPages
)(
1373 LPFNSVADDPROPSHEETPAGE pfn
,
1376 HRESULT (STDMETHODCALLTYPE
*SaveViewState
)(
1379 HRESULT (STDMETHODCALLTYPE
*SelectItem
)(
1381 LPCITEMIDLIST pidlItem
,
1384 HRESULT (STDMETHODCALLTYPE
*GetItemObject
)(
1394 /*** IUnknown methods ***/
1395 #define IShellView_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1396 #define IShellView_AddRef(p) (p)->lpVtbl->AddRef(p)
1397 #define IShellView_Release(p) (p)->lpVtbl->Release(p)
1398 /*** IOleWindow methods ***/
1399 #define IShellView_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
1400 #define IShellView_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
1401 /*** IShellView methods ***/
1402 #define IShellView_TranslateAccelerator(p,a) (p)->lpVtbl->TranslateAccelerator(p,a)
1403 #define IShellView_EnableModeless(p,a) (p)->lpVtbl->EnableModeless(p,a)
1404 #define IShellView_UIActivate(p,a) (p)->lpVtbl->UIActivate(p,a)
1405 #define IShellView_Refresh(p) (p)->lpVtbl->Refresh(p)
1406 #define IShellView_CreateViewWindow(p,a,b,c,d,e) (p)->lpVtbl->CreateViewWindow(p,a,b,c,d,e)
1407 #define IShellView_DestroyViewWindow(p) (p)->lpVtbl->DestroyViewWindow(p)
1408 #define IShellView_GetCurrentInfo(p,a) (p)->lpVtbl->GetCurrentInfo(p,a)
1409 #define IShellView_AddPropertySheetPages(p,a,b,c) (p)->lpVtbl->AddPropertySheetPages(p,a,b,c)
1410 #define IShellView_SaveViewState(p) (p)->lpVtbl->SaveViewState(p)
1411 #define IShellView_SelectItem(p,a,b) (p)->lpVtbl->SelectItem(p,a,b)
1412 #define IShellView_GetItemObject(p,a,b,c) (p)->lpVtbl->GetItemObject(p,a,b,c)
1417 #define IShellView_METHODS \
1418 /*** IUnknown methods ***/ \
1419 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1420 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1421 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1422 /*** IOleWindow methods ***/ \
1423 STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND* phwnd) PURE; \
1424 STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE; \
1425 /*** IShellView methods ***/ \
1426 STDMETHOD_(HRESULT,TranslateAccelerator)(THIS_ MSG* pmsg) PURE; \
1427 STDMETHOD_(HRESULT,EnableModeless)(THIS_ BOOL fEnable) PURE; \
1428 STDMETHOD_(HRESULT,UIActivate)(THIS_ UINT uState) PURE; \
1429 STDMETHOD_(HRESULT,Refresh)(THIS) PURE; \
1430 STDMETHOD_(HRESULT,CreateViewWindow)(THIS_ IShellView* psvPrevious, LPCFOLDERSETTINGS lpfs, IShellBrowser* psb, RECT* prcView, HWND* phWnd) PURE; \
1431 STDMETHOD_(HRESULT,DestroyViewWindow)(THIS) PURE; \
1432 STDMETHOD_(HRESULT,GetCurrentInfo)(THIS_ LPFOLDERSETTINGS lpfs) PURE; \
1433 STDMETHOD_(HRESULT,AddPropertySheetPages)(THIS_ DWORD dwReserved, LPFNSVADDPROPSHEETPAGE pfn, LPARAM lparam) PURE; \
1434 STDMETHOD_(HRESULT,SaveViewState)(THIS) PURE; \
1435 STDMETHOD_(HRESULT,SelectItem)(THIS_ LPCITEMIDLIST pidlItem, SVSIF uFlags) PURE; \
1436 STDMETHOD_(HRESULT,GetItemObject)(THIS_ UINT uItem, REFIID riid, void** ppv) PURE;
1438 HRESULT CALLBACK
IShellView_TranslateAccelerator_Proxy(
1441 void __RPC_STUB
IShellView_TranslateAccelerator_Stub(
1442 struct IRpcStubBuffer
* This
,
1443 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1444 PRPC_MESSAGE pRpcMessage
,
1445 DWORD
* pdwStubPhase
);
1446 HRESULT CALLBACK
IShellView_EnableModeless_Proxy(
1449 void __RPC_STUB
IShellView_EnableModeless_Stub(
1450 struct IRpcStubBuffer
* This
,
1451 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1452 PRPC_MESSAGE pRpcMessage
,
1453 DWORD
* pdwStubPhase
);
1454 HRESULT CALLBACK
IShellView_UIActivate_Proxy(
1457 void __RPC_STUB
IShellView_UIActivate_Stub(
1458 struct IRpcStubBuffer
* This
,
1459 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1460 PRPC_MESSAGE pRpcMessage
,
1461 DWORD
* pdwStubPhase
);
1462 HRESULT CALLBACK
IShellView_Refresh_Proxy(
1464 void __RPC_STUB
IShellView_Refresh_Stub(
1465 struct IRpcStubBuffer
* This
,
1466 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1467 PRPC_MESSAGE pRpcMessage
,
1468 DWORD
* pdwStubPhase
);
1469 HRESULT CALLBACK
IShellView_CreateViewWindow_Proxy(
1471 IShellView
* psvPrevious
,
1472 LPCFOLDERSETTINGS lpfs
,
1476 void __RPC_STUB
IShellView_CreateViewWindow_Stub(
1477 struct IRpcStubBuffer
* This
,
1478 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1479 PRPC_MESSAGE pRpcMessage
,
1480 DWORD
* pdwStubPhase
);
1481 HRESULT CALLBACK
IShellView_DestroyViewWindow_Proxy(
1483 void __RPC_STUB
IShellView_DestroyViewWindow_Stub(
1484 struct IRpcStubBuffer
* This
,
1485 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1486 PRPC_MESSAGE pRpcMessage
,
1487 DWORD
* pdwStubPhase
);
1488 HRESULT CALLBACK
IShellView_GetCurrentInfo_Proxy(
1490 LPFOLDERSETTINGS lpfs
);
1491 void __RPC_STUB
IShellView_GetCurrentInfo_Stub(
1492 struct IRpcStubBuffer
* This
,
1493 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1494 PRPC_MESSAGE pRpcMessage
,
1495 DWORD
* pdwStubPhase
);
1496 HRESULT CALLBACK
IShellView_SaveViewState_Proxy(
1498 void __RPC_STUB
IShellView_SaveViewState_Stub(
1499 struct IRpcStubBuffer
* This
,
1500 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1501 PRPC_MESSAGE pRpcMessage
,
1502 DWORD
* pdwStubPhase
);
1503 HRESULT CALLBACK
IShellView_SelectItem_Proxy(
1505 LPCITEMIDLIST pidlItem
,
1507 void __RPC_STUB
IShellView_SelectItem_Stub(
1508 struct IRpcStubBuffer
* This
,
1509 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1510 PRPC_MESSAGE pRpcMessage
,
1511 DWORD
* pdwStubPhase
);
1512 HRESULT CALLBACK
IShellView_GetItemObject_Proxy(
1517 void __RPC_STUB
IShellView_GetItemObject_Stub(
1518 struct IRpcStubBuffer
* This
,
1519 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1520 PRPC_MESSAGE pRpcMessage
,
1521 DWORD
* pdwStubPhase
);
1523 #endif /* __IShellView_INTERFACE_DEFINED__ */
1525 typedef IShellBrowser
*LPSHELLBROWSER
;
1527 #define SBSP_DEFBROWSER 0x00000000
1528 #define SBSP_SAMEBROWSER 0x00000001
1529 #define SBSP_NEWBROWSER 0x00000002
1530 #define SBSP_DEFMODE 0x00000000
1531 #define SBSP_OPENMODE 0x00000010
1532 #define SBSP_EXPLOREMODE 0x00000020
1533 #define SBSP_HELPMODE 0x00000040
1534 #define SBSP_NOTRANSFERHIST 0x00000080
1535 #define SBSP_ABSOLUTE 0x00000000
1536 #define SBSP_RELATIVE 0x00001000
1537 #define SBSP_PARENT 0x00002000
1538 #define SBSP_NAVIGATEBACK 0x00004000
1539 #define SBSP_NAVIGATEFORWARD 0x00008000
1540 #define SBSP_ALLOW_AUTONAVIGATE 0x00010000
1541 #define SBSP_NOAUTOSELECT 0x04000000
1542 #define SBSP_WRITENOHISTORY 0x08000000
1543 #define SBSP_REDIRECT 0x40000000
1544 #define SBSP_INITIATEDBYHLINKFRAME 0x80000000
1545 #define FCW_STATUS 0x0001
1546 #define FCW_TOOLBAR 0x0002
1547 #define FCW_TREE 0x0003
1548 #define FCW_INTERNETBAR 0x0006
1549 #define FCW_PROGRESS 0x0008
1550 #define FCT_MERGE 0x0001
1551 #define FCT_CONFIGABLE 0x0002
1552 #define FCT_ADDTOEND 0x0004
1554 typedef LPARAM LPTBBUTTONSB
;
1557 #include <commctrl.h>
1558 typedef LPTBBUTTON LPTBBUTTONSB
;
1560 /*****************************************************************************
1561 * IShellBrowser interface
1563 #ifndef __IShellBrowser_INTERFACE_DEFINED__
1564 #define __IShellBrowser_INTERFACE_DEFINED__
1566 DEFINE_GUID(IID_IShellBrowser
, 0x000214e2, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1567 #if defined(__cplusplus) && !defined(CINTERFACE)
1568 struct IShellBrowser
: public IOleWindow
1570 virtual HRESULT STDMETHODCALLTYPE
InsertMenusSB(
1572 LPOLEMENUGROUPWIDTHS lpMenuWidths
) = 0;
1574 virtual HRESULT STDMETHODCALLTYPE
SetMenuSB(
1576 HOLEMENU holemenuReserved
,
1577 HWND hwndActiveObject
) = 0;
1579 virtual HRESULT STDMETHODCALLTYPE
RemoveMenusSB(
1580 HMENU hmenuShared
) = 0;
1582 virtual HRESULT STDMETHODCALLTYPE
SetStatusTextSB(
1583 LPCOLESTR pszStatusText
) = 0;
1585 virtual HRESULT STDMETHODCALLTYPE
EnableModelessSB(
1588 virtual HRESULT STDMETHODCALLTYPE
TranslateAcceleratorSB(
1592 virtual HRESULT STDMETHODCALLTYPE
BrowseObject(
1596 virtual HRESULT STDMETHODCALLTYPE
GetViewStateStream(
1598 IStream
** ppStrm
) = 0;
1600 virtual HRESULT STDMETHODCALLTYPE
GetControlWindow(
1604 virtual HRESULT STDMETHODCALLTYPE
SendControlMsg(
1611 virtual HRESULT STDMETHODCALLTYPE
QueryActiveShellView(
1612 IShellView
** ppshv
) = 0;
1614 virtual HRESULT STDMETHODCALLTYPE
OnViewWindowActive(
1615 IShellView
* pshv
) = 0;
1617 virtual HRESULT STDMETHODCALLTYPE
SetToolbarItems(
1618 LPTBBUTTONSB lpButtons
,
1624 typedef struct IShellBrowserVtbl IShellBrowserVtbl
;
1625 struct IShellBrowser
{
1626 const IShellBrowserVtbl
* lpVtbl
;
1628 struct IShellBrowserVtbl
{
1631 /*** IUnknown methods ***/
1632 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
1633 IShellBrowser
* This
,
1637 ULONG (STDMETHODCALLTYPE
*AddRef
)(
1638 IShellBrowser
* This
);
1640 ULONG (STDMETHODCALLTYPE
*Release
)(
1641 IShellBrowser
* This
);
1643 /*** IOleWindow methods ***/
1644 HRESULT (STDMETHODCALLTYPE
*GetWindow
)(
1645 IShellBrowser
* This
,
1648 HRESULT (STDMETHODCALLTYPE
*ContextSensitiveHelp
)(
1649 IShellBrowser
* This
,
1652 /*** IShellBrowser methods ***/
1653 HRESULT (STDMETHODCALLTYPE
*InsertMenusSB
)(
1654 IShellBrowser
* This
,
1656 LPOLEMENUGROUPWIDTHS lpMenuWidths
);
1658 HRESULT (STDMETHODCALLTYPE
*SetMenuSB
)(
1659 IShellBrowser
* This
,
1661 HOLEMENU holemenuReserved
,
1662 HWND hwndActiveObject
);
1664 HRESULT (STDMETHODCALLTYPE
*RemoveMenusSB
)(
1665 IShellBrowser
* This
,
1668 HRESULT (STDMETHODCALLTYPE
*SetStatusTextSB
)(
1669 IShellBrowser
* This
,
1670 LPCOLESTR pszStatusText
);
1672 HRESULT (STDMETHODCALLTYPE
*EnableModelessSB
)(
1673 IShellBrowser
* This
,
1676 HRESULT (STDMETHODCALLTYPE
*TranslateAcceleratorSB
)(
1677 IShellBrowser
* This
,
1681 HRESULT (STDMETHODCALLTYPE
*BrowseObject
)(
1682 IShellBrowser
* This
,
1686 HRESULT (STDMETHODCALLTYPE
*GetViewStateStream
)(
1687 IShellBrowser
* This
,
1691 HRESULT (STDMETHODCALLTYPE
*GetControlWindow
)(
1692 IShellBrowser
* This
,
1696 HRESULT (STDMETHODCALLTYPE
*SendControlMsg
)(
1697 IShellBrowser
* This
,
1704 HRESULT (STDMETHODCALLTYPE
*QueryActiveShellView
)(
1705 IShellBrowser
* This
,
1706 IShellView
** ppshv
);
1708 HRESULT (STDMETHODCALLTYPE
*OnViewWindowActive
)(
1709 IShellBrowser
* This
,
1712 HRESULT (STDMETHODCALLTYPE
*SetToolbarItems
)(
1713 IShellBrowser
* This
,
1714 LPTBBUTTONSB lpButtons
,
1722 /*** IUnknown methods ***/
1723 #define IShellBrowser_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
1724 #define IShellBrowser_AddRef(p) (p)->lpVtbl->AddRef(p)
1725 #define IShellBrowser_Release(p) (p)->lpVtbl->Release(p)
1726 /*** IOleWindow methods ***/
1727 #define IShellBrowser_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
1728 #define IShellBrowser_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
1729 /*** IShellBrowser methods ***/
1730 #define IShellBrowser_InsertMenusSB(p,a,b) (p)->lpVtbl->InsertMenusSB(p,a,b)
1731 #define IShellBrowser_SetMenuSB(p,a,b,c) (p)->lpVtbl->SetMenuSB(p,a,b,c)
1732 #define IShellBrowser_RemoveMenusSB(p,a) (p)->lpVtbl->RemoveMenusSB(p,a)
1733 #define IShellBrowser_SetStatusTextSB(p,a) (p)->lpVtbl->SetStatusTextSB(p,a)
1734 #define IShellBrowser_EnableModelessSB(p,a) (p)->lpVtbl->EnableModelessSB(p,a)
1735 #define IShellBrowser_TranslateAcceleratorSB(p,a,b) (p)->lpVtbl->TranslateAcceleratorSB(p,a,b)
1736 #define IShellBrowser_BrowseObject(p,a,b) (p)->lpVtbl->BrowseObject(p,a,b)
1737 #define IShellBrowser_GetViewStateStream(p,a,b) (p)->lpVtbl->GetViewStateStream(p,a,b)
1738 #define IShellBrowser_GetControlWindow(p,a,b) (p)->lpVtbl->GetControlWindow(p,a,b)
1739 #define IShellBrowser_SendControlMsg(p,a,b,c,d,e) (p)->lpVtbl->SendControlMsg(p,a,b,c,d,e)
1740 #define IShellBrowser_QueryActiveShellView(p,a) (p)->lpVtbl->QueryActiveShellView(p,a)
1741 #define IShellBrowser_OnViewWindowActive(p,a) (p)->lpVtbl->OnViewWindowActive(p,a)
1742 #define IShellBrowser_SetToolbarItems(p,a,b,c) (p)->lpVtbl->SetToolbarItems(p,a,b,c)
1747 #define IShellBrowser_METHODS \
1748 /*** IUnknown methods ***/ \
1749 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
1750 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
1751 STDMETHOD_(ULONG,Release)(THIS) PURE; \
1752 /*** IOleWindow methods ***/ \
1753 STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND* phwnd) PURE; \
1754 STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE; \
1755 /*** IShellBrowser methods ***/ \
1756 STDMETHOD_(HRESULT,InsertMenusSB)(THIS_ HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths) PURE; \
1757 STDMETHOD_(HRESULT,SetMenuSB)(THIS_ HMENU hmenuShared, HOLEMENU holemenuReserved, HWND hwndActiveObject) PURE; \
1758 STDMETHOD_(HRESULT,RemoveMenusSB)(THIS_ HMENU hmenuShared) PURE; \
1759 STDMETHOD_(HRESULT,SetStatusTextSB)(THIS_ LPCOLESTR pszStatusText) PURE; \
1760 STDMETHOD_(HRESULT,EnableModelessSB)(THIS_ BOOL fEnable) PURE; \
1761 STDMETHOD_(HRESULT,TranslateAcceleratorSB)(THIS_ MSG* pmsg, WORD wID) PURE; \
1762 STDMETHOD_(HRESULT,BrowseObject)(THIS_ LPCITEMIDLIST pidl, UINT wFlags) PURE; \
1763 STDMETHOD_(HRESULT,GetViewStateStream)(THIS_ DWORD grfMode, IStream** ppStrm) PURE; \
1764 STDMETHOD_(HRESULT,GetControlWindow)(THIS_ UINT id, HWND* phwnd) PURE; \
1765 STDMETHOD_(HRESULT,SendControlMsg)(THIS_ UINT id, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT* pret) PURE; \
1766 STDMETHOD_(HRESULT,QueryActiveShellView)(THIS_ IShellView** ppshv) PURE; \
1767 STDMETHOD_(HRESULT,OnViewWindowActive)(THIS_ IShellView* pshv) PURE; \
1768 STDMETHOD_(HRESULT,SetToolbarItems)(THIS_ LPTBBUTTONSB lpButtons, UINT nButtons, UINT uFlags) PURE;
1770 HRESULT CALLBACK
IShellBrowser_InsertMenusSB_Proxy(
1771 IShellBrowser
* This
,
1773 LPOLEMENUGROUPWIDTHS lpMenuWidths
);
1774 void __RPC_STUB
IShellBrowser_InsertMenusSB_Stub(
1775 struct IRpcStubBuffer
* This
,
1776 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1777 PRPC_MESSAGE pRpcMessage
,
1778 DWORD
* pdwStubPhase
);
1779 HRESULT CALLBACK
IShellBrowser_SetMenuSB_Proxy(
1780 IShellBrowser
* This
,
1782 HOLEMENU holemenuReserved
,
1783 HWND hwndActiveObject
);
1784 void __RPC_STUB
IShellBrowser_SetMenuSB_Stub(
1785 struct IRpcStubBuffer
* This
,
1786 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1787 PRPC_MESSAGE pRpcMessage
,
1788 DWORD
* pdwStubPhase
);
1789 HRESULT CALLBACK
IShellBrowser_RemoveMenusSB_Proxy(
1790 IShellBrowser
* This
,
1792 void __RPC_STUB
IShellBrowser_RemoveMenusSB_Stub(
1793 struct IRpcStubBuffer
* This
,
1794 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1795 PRPC_MESSAGE pRpcMessage
,
1796 DWORD
* pdwStubPhase
);
1797 HRESULT CALLBACK
IShellBrowser_SetStatusTextSB_Proxy(
1798 IShellBrowser
* This
,
1799 LPCOLESTR pszStatusText
);
1800 void __RPC_STUB
IShellBrowser_SetStatusTextSB_Stub(
1801 struct IRpcStubBuffer
* This
,
1802 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1803 PRPC_MESSAGE pRpcMessage
,
1804 DWORD
* pdwStubPhase
);
1805 HRESULT CALLBACK
IShellBrowser_EnableModelessSB_Proxy(
1806 IShellBrowser
* This
,
1808 void __RPC_STUB
IShellBrowser_EnableModelessSB_Stub(
1809 struct IRpcStubBuffer
* This
,
1810 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1811 PRPC_MESSAGE pRpcMessage
,
1812 DWORD
* pdwStubPhase
);
1813 HRESULT CALLBACK
IShellBrowser_TranslateAcceleratorSB_Proxy(
1814 IShellBrowser
* This
,
1817 void __RPC_STUB
IShellBrowser_TranslateAcceleratorSB_Stub(
1818 struct IRpcStubBuffer
* This
,
1819 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1820 PRPC_MESSAGE pRpcMessage
,
1821 DWORD
* pdwStubPhase
);
1822 HRESULT CALLBACK
IShellBrowser_BrowseObject_Proxy(
1823 IShellBrowser
* This
,
1826 void __RPC_STUB
IShellBrowser_BrowseObject_Stub(
1827 struct IRpcStubBuffer
* This
,
1828 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1829 PRPC_MESSAGE pRpcMessage
,
1830 DWORD
* pdwStubPhase
);
1831 HRESULT CALLBACK
IShellBrowser_GetViewStateStream_Proxy(
1832 IShellBrowser
* This
,
1835 void __RPC_STUB
IShellBrowser_GetViewStateStream_Stub(
1836 struct IRpcStubBuffer
* This
,
1837 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1838 PRPC_MESSAGE pRpcMessage
,
1839 DWORD
* pdwStubPhase
);
1840 HRESULT CALLBACK
IShellBrowser_GetControlWindow_Proxy(
1841 IShellBrowser
* This
,
1844 void __RPC_STUB
IShellBrowser_GetControlWindow_Stub(
1845 struct IRpcStubBuffer
* This
,
1846 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1847 PRPC_MESSAGE pRpcMessage
,
1848 DWORD
* pdwStubPhase
);
1849 HRESULT CALLBACK
IShellBrowser_QueryActiveShellView_Proxy(
1850 IShellBrowser
* This
,
1851 IShellView
** ppshv
);
1852 void __RPC_STUB
IShellBrowser_QueryActiveShellView_Stub(
1853 struct IRpcStubBuffer
* This
,
1854 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1855 PRPC_MESSAGE pRpcMessage
,
1856 DWORD
* pdwStubPhase
);
1857 HRESULT CALLBACK
IShellBrowser_OnViewWindowActive_Proxy(
1858 IShellBrowser
* This
,
1860 void __RPC_STUB
IShellBrowser_OnViewWindowActive_Stub(
1861 struct IRpcStubBuffer
* This
,
1862 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
1863 PRPC_MESSAGE pRpcMessage
,
1864 DWORD
* pdwStubPhase
);
1866 #endif /* __IShellBrowser_INTERFACE_DEFINED__ */
1868 #ifndef __IShellLinkA_FWD_DEFINED__
1869 #define __IShellLinkA_FWD_DEFINED__
1870 typedef struct IShellLinkA IShellLinkA
;
1875 SLR_ANY_MATCH
= 0x2,
1878 SLR_NOSEARCH
= 0x10,
1880 SLR_NOLINKINFO
= 0x40,
1881 SLR_INVOKE_MSI
= 0x80,
1882 SLR_NO_UI_WITH_MSG_PUMP
= 0x101
1886 SLGP_SHORTPATH
= 0x1,
1887 SLGP_UNCPRIORITY
= 0x2,
1891 /*****************************************************************************
1892 * IShellLinkA interface
1894 #ifndef __IShellLinkA_INTERFACE_DEFINED__
1895 #define __IShellLinkA_INTERFACE_DEFINED__
1897 DEFINE_GUID(IID_IShellLinkA
, 0x000214ee, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
1898 #if defined(__cplusplus) && !defined(CINTERFACE)
1899 struct IShellLinkA
: public IUnknown
1901 virtual HRESULT STDMETHODCALLTYPE
GetPath(
1904 WIN32_FIND_DATAA
* pfd
,
1907 virtual HRESULT STDMETHODCALLTYPE
GetIDList(
1908 LPITEMIDLIST
* ppidl
) = 0;
1910 virtual HRESULT STDMETHODCALLTYPE
SetIDList(
1911 LPCITEMIDLIST pidl
) = 0;
1913 virtual HRESULT STDMETHODCALLTYPE
GetDescription(
1917 virtual HRESULT STDMETHODCALLTYPE
SetDescription(
1918 LPCSTR pszName
) = 0;
1920 virtual HRESULT STDMETHODCALLTYPE
GetWorkingDirectory(
1924 virtual HRESULT STDMETHODCALLTYPE
SetWorkingDirectory(
1927 virtual HRESULT STDMETHODCALLTYPE
GetArguments(
1931 virtual HRESULT STDMETHODCALLTYPE
SetArguments(
1932 LPCSTR pszArgs
) = 0;
1934 virtual HRESULT STDMETHODCALLTYPE
GetHotkey(
1935 WORD
* pwHotkey
) = 0;
1937 virtual HRESULT STDMETHODCALLTYPE
SetHotkey(
1940 virtual HRESULT STDMETHODCALLTYPE
GetShowCmd(
1941 int* piShowCmd
) = 0;
1943 virtual HRESULT STDMETHODCALLTYPE
SetShowCmd(
1946 virtual HRESULT STDMETHODCALLTYPE
GetIconLocation(
1951 virtual HRESULT STDMETHODCALLTYPE
SetIconLocation(
1955 virtual HRESULT STDMETHODCALLTYPE
SetRelativePath(
1957 DWORD dwReserved
) = 0;
1959 virtual HRESULT STDMETHODCALLTYPE
Resolve(
1963 virtual HRESULT STDMETHODCALLTYPE
SetPath(
1964 LPCSTR pszFile
) = 0;
1968 typedef struct IShellLinkAVtbl IShellLinkAVtbl
;
1969 struct IShellLinkA
{
1970 const IShellLinkAVtbl
* lpVtbl
;
1972 struct IShellLinkAVtbl
{
1975 /*** IUnknown methods ***/
1976 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
1981 ULONG (STDMETHODCALLTYPE
*AddRef
)(
1984 ULONG (STDMETHODCALLTYPE
*Release
)(
1987 /*** IShellLinkA methods ***/
1988 HRESULT (STDMETHODCALLTYPE
*GetPath
)(
1992 WIN32_FIND_DATAA
* pfd
,
1995 HRESULT (STDMETHODCALLTYPE
*GetIDList
)(
1997 LPITEMIDLIST
* ppidl
);
1999 HRESULT (STDMETHODCALLTYPE
*SetIDList
)(
2001 LPCITEMIDLIST pidl
);
2003 HRESULT (STDMETHODCALLTYPE
*GetDescription
)(
2008 HRESULT (STDMETHODCALLTYPE
*SetDescription
)(
2012 HRESULT (STDMETHODCALLTYPE
*GetWorkingDirectory
)(
2017 HRESULT (STDMETHODCALLTYPE
*SetWorkingDirectory
)(
2021 HRESULT (STDMETHODCALLTYPE
*GetArguments
)(
2026 HRESULT (STDMETHODCALLTYPE
*SetArguments
)(
2030 HRESULT (STDMETHODCALLTYPE
*GetHotkey
)(
2034 HRESULT (STDMETHODCALLTYPE
*SetHotkey
)(
2038 HRESULT (STDMETHODCALLTYPE
*GetShowCmd
)(
2042 HRESULT (STDMETHODCALLTYPE
*SetShowCmd
)(
2046 HRESULT (STDMETHODCALLTYPE
*GetIconLocation
)(
2052 HRESULT (STDMETHODCALLTYPE
*SetIconLocation
)(
2057 HRESULT (STDMETHODCALLTYPE
*SetRelativePath
)(
2062 HRESULT (STDMETHODCALLTYPE
*Resolve
)(
2067 HRESULT (STDMETHODCALLTYPE
*SetPath
)(
2075 /*** IUnknown methods ***/
2076 #define IShellLinkA_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2077 #define IShellLinkA_AddRef(p) (p)->lpVtbl->AddRef(p)
2078 #define IShellLinkA_Release(p) (p)->lpVtbl->Release(p)
2079 /*** IShellLinkA methods ***/
2080 #define IShellLinkA_GetPath(p,a,b,c,d) (p)->lpVtbl->GetPath(p,a,b,c,d)
2081 #define IShellLinkA_GetIDList(p,a) (p)->lpVtbl->GetIDList(p,a)
2082 #define IShellLinkA_SetIDList(p,a) (p)->lpVtbl->SetIDList(p,a)
2083 #define IShellLinkA_GetDescription(p,a,b) (p)->lpVtbl->GetDescription(p,a,b)
2084 #define IShellLinkA_SetDescription(p,a) (p)->lpVtbl->SetDescription(p,a)
2085 #define IShellLinkA_GetWorkingDirectory(p,a,b) (p)->lpVtbl->GetWorkingDirectory(p,a,b)
2086 #define IShellLinkA_SetWorkingDirectory(p,a) (p)->lpVtbl->SetWorkingDirectory(p,a)
2087 #define IShellLinkA_GetArguments(p,a,b) (p)->lpVtbl->GetArguments(p,a,b)
2088 #define IShellLinkA_SetArguments(p,a) (p)->lpVtbl->SetArguments(p,a)
2089 #define IShellLinkA_GetHotkey(p,a) (p)->lpVtbl->GetHotkey(p,a)
2090 #define IShellLinkA_SetHotkey(p,a) (p)->lpVtbl->SetHotkey(p,a)
2091 #define IShellLinkA_GetShowCmd(p,a) (p)->lpVtbl->GetShowCmd(p,a)
2092 #define IShellLinkA_SetShowCmd(p,a) (p)->lpVtbl->SetShowCmd(p,a)
2093 #define IShellLinkA_GetIconLocation(p,a,b,c) (p)->lpVtbl->GetIconLocation(p,a,b,c)
2094 #define IShellLinkA_SetIconLocation(p,a,b) (p)->lpVtbl->SetIconLocation(p,a,b)
2095 #define IShellLinkA_SetRelativePath(p,a,b) (p)->lpVtbl->SetRelativePath(p,a,b)
2096 #define IShellLinkA_Resolve(p,a,b) (p)->lpVtbl->Resolve(p,a,b)
2097 #define IShellLinkA_SetPath(p,a) (p)->lpVtbl->SetPath(p,a)
2102 #define IShellLinkA_METHODS \
2103 /*** IUnknown methods ***/ \
2104 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2105 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2106 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2107 /*** IShellLinkA methods ***/ \
2108 STDMETHOD_(HRESULT,GetPath)(THIS_ LPSTR pszFile, int cch, WIN32_FIND_DATAA* pfd, DWORD fFlags) PURE; \
2109 STDMETHOD_(HRESULT,GetIDList)(THIS_ LPITEMIDLIST* ppidl) PURE; \
2110 STDMETHOD_(HRESULT,SetIDList)(THIS_ LPCITEMIDLIST pidl) PURE; \
2111 STDMETHOD_(HRESULT,GetDescription)(THIS_ LPSTR pszName, int cch) PURE; \
2112 STDMETHOD_(HRESULT,SetDescription)(THIS_ LPCSTR pszName) PURE; \
2113 STDMETHOD_(HRESULT,GetWorkingDirectory)(THIS_ LPSTR pszDir, int cch) PURE; \
2114 STDMETHOD_(HRESULT,SetWorkingDirectory)(THIS_ LPCSTR pszDir) PURE; \
2115 STDMETHOD_(HRESULT,GetArguments)(THIS_ LPSTR pszArgs, int cch) PURE; \
2116 STDMETHOD_(HRESULT,SetArguments)(THIS_ LPCSTR pszArgs) PURE; \
2117 STDMETHOD_(HRESULT,GetHotkey)(THIS_ WORD* pwHotkey) PURE; \
2118 STDMETHOD_(HRESULT,SetHotkey)(THIS_ WORD wHotkey) PURE; \
2119 STDMETHOD_(HRESULT,GetShowCmd)(THIS_ int* piShowCmd) PURE; \
2120 STDMETHOD_(HRESULT,SetShowCmd)(THIS_ int iShowCmd) PURE; \
2121 STDMETHOD_(HRESULT,GetIconLocation)(THIS_ LPSTR pszIconPath, int cch, int* piIcon) PURE; \
2122 STDMETHOD_(HRESULT,SetIconLocation)(THIS_ LPCSTR pszIconPath, int iIcon) PURE; \
2123 STDMETHOD_(HRESULT,SetRelativePath)(THIS_ LPCSTR pszPathRel, DWORD dwReserved) PURE; \
2124 STDMETHOD_(HRESULT,Resolve)(THIS_ HWND hwnd, DWORD fFlags) PURE; \
2125 STDMETHOD_(HRESULT,SetPath)(THIS_ LPCSTR pszFile) PURE;
2127 HRESULT CALLBACK
IShellLinkA_GetPath_Proxy(
2131 WIN32_FIND_DATAA
* pfd
,
2133 void __RPC_STUB
IShellLinkA_GetPath_Stub(
2134 struct IRpcStubBuffer
* This
,
2135 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2136 PRPC_MESSAGE pRpcMessage
,
2137 DWORD
* pdwStubPhase
);
2138 HRESULT CALLBACK
IShellLinkA_GetIDList_Proxy(
2140 LPITEMIDLIST
* ppidl
);
2141 void __RPC_STUB
IShellLinkA_GetIDList_Stub(
2142 struct IRpcStubBuffer
* This
,
2143 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2144 PRPC_MESSAGE pRpcMessage
,
2145 DWORD
* pdwStubPhase
);
2146 HRESULT CALLBACK
IShellLinkA_SetIDList_Proxy(
2148 LPCITEMIDLIST pidl
);
2149 void __RPC_STUB
IShellLinkA_SetIDList_Stub(
2150 struct IRpcStubBuffer
* This
,
2151 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2152 PRPC_MESSAGE pRpcMessage
,
2153 DWORD
* pdwStubPhase
);
2154 HRESULT CALLBACK
IShellLinkA_GetDescription_Proxy(
2158 void __RPC_STUB
IShellLinkA_GetDescription_Stub(
2159 struct IRpcStubBuffer
* This
,
2160 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2161 PRPC_MESSAGE pRpcMessage
,
2162 DWORD
* pdwStubPhase
);
2163 HRESULT CALLBACK
IShellLinkA_SetDescription_Proxy(
2166 void __RPC_STUB
IShellLinkA_SetDescription_Stub(
2167 struct IRpcStubBuffer
* This
,
2168 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2169 PRPC_MESSAGE pRpcMessage
,
2170 DWORD
* pdwStubPhase
);
2171 HRESULT CALLBACK
IShellLinkA_GetWorkingDirectory_Proxy(
2175 void __RPC_STUB
IShellLinkA_GetWorkingDirectory_Stub(
2176 struct IRpcStubBuffer
* This
,
2177 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2178 PRPC_MESSAGE pRpcMessage
,
2179 DWORD
* pdwStubPhase
);
2180 HRESULT CALLBACK
IShellLinkA_SetWorkingDirectory_Proxy(
2183 void __RPC_STUB
IShellLinkA_SetWorkingDirectory_Stub(
2184 struct IRpcStubBuffer
* This
,
2185 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2186 PRPC_MESSAGE pRpcMessage
,
2187 DWORD
* pdwStubPhase
);
2188 HRESULT CALLBACK
IShellLinkA_GetArguments_Proxy(
2192 void __RPC_STUB
IShellLinkA_GetArguments_Stub(
2193 struct IRpcStubBuffer
* This
,
2194 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2195 PRPC_MESSAGE pRpcMessage
,
2196 DWORD
* pdwStubPhase
);
2197 HRESULT CALLBACK
IShellLinkA_SetArguments_Proxy(
2200 void __RPC_STUB
IShellLinkA_SetArguments_Stub(
2201 struct IRpcStubBuffer
* This
,
2202 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2203 PRPC_MESSAGE pRpcMessage
,
2204 DWORD
* pdwStubPhase
);
2205 HRESULT CALLBACK
IShellLinkA_GetHotkey_Proxy(
2208 void __RPC_STUB
IShellLinkA_GetHotkey_Stub(
2209 struct IRpcStubBuffer
* This
,
2210 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2211 PRPC_MESSAGE pRpcMessage
,
2212 DWORD
* pdwStubPhase
);
2213 HRESULT CALLBACK
IShellLinkA_SetHotkey_Proxy(
2216 void __RPC_STUB
IShellLinkA_SetHotkey_Stub(
2217 struct IRpcStubBuffer
* This
,
2218 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2219 PRPC_MESSAGE pRpcMessage
,
2220 DWORD
* pdwStubPhase
);
2221 HRESULT CALLBACK
IShellLinkA_GetShowCmd_Proxy(
2224 void __RPC_STUB
IShellLinkA_GetShowCmd_Stub(
2225 struct IRpcStubBuffer
* This
,
2226 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2227 PRPC_MESSAGE pRpcMessage
,
2228 DWORD
* pdwStubPhase
);
2229 HRESULT CALLBACK
IShellLinkA_SetShowCmd_Proxy(
2232 void __RPC_STUB
IShellLinkA_SetShowCmd_Stub(
2233 struct IRpcStubBuffer
* This
,
2234 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2235 PRPC_MESSAGE pRpcMessage
,
2236 DWORD
* pdwStubPhase
);
2237 HRESULT CALLBACK
IShellLinkA_GetIconLocation_Proxy(
2242 void __RPC_STUB
IShellLinkA_GetIconLocation_Stub(
2243 struct IRpcStubBuffer
* This
,
2244 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2245 PRPC_MESSAGE pRpcMessage
,
2246 DWORD
* pdwStubPhase
);
2247 HRESULT CALLBACK
IShellLinkA_SetIconLocation_Proxy(
2251 void __RPC_STUB
IShellLinkA_SetIconLocation_Stub(
2252 struct IRpcStubBuffer
* This
,
2253 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2254 PRPC_MESSAGE pRpcMessage
,
2255 DWORD
* pdwStubPhase
);
2256 HRESULT CALLBACK
IShellLinkA_SetRelativePath_Proxy(
2260 void __RPC_STUB
IShellLinkA_SetRelativePath_Stub(
2261 struct IRpcStubBuffer
* This
,
2262 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2263 PRPC_MESSAGE pRpcMessage
,
2264 DWORD
* pdwStubPhase
);
2265 HRESULT CALLBACK
IShellLinkA_Resolve_Proxy(
2269 void __RPC_STUB
IShellLinkA_Resolve_Stub(
2270 struct IRpcStubBuffer
* This
,
2271 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2272 PRPC_MESSAGE pRpcMessage
,
2273 DWORD
* pdwStubPhase
);
2274 HRESULT CALLBACK
IShellLinkA_SetPath_Proxy(
2277 void __RPC_STUB
IShellLinkA_SetPath_Stub(
2278 struct IRpcStubBuffer
* This
,
2279 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2280 PRPC_MESSAGE pRpcMessage
,
2281 DWORD
* pdwStubPhase
);
2283 #endif /* __IShellLinkA_INTERFACE_DEFINED__ */
2285 #ifndef __IShellLinkW_FWD_DEFINED__
2286 #define __IShellLinkW_FWD_DEFINED__
2287 typedef struct IShellLinkW IShellLinkW
;
2290 /*****************************************************************************
2291 * IShellLinkW interface
2293 #ifndef __IShellLinkW_INTERFACE_DEFINED__
2294 #define __IShellLinkW_INTERFACE_DEFINED__
2296 DEFINE_GUID(IID_IShellLinkW
, 0x000214f9, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2297 #if defined(__cplusplus) && !defined(CINTERFACE)
2298 struct IShellLinkW
: public IUnknown
2300 virtual HRESULT STDMETHODCALLTYPE
GetPath(
2303 WIN32_FIND_DATAW
* pfd
,
2306 virtual HRESULT STDMETHODCALLTYPE
GetIDList(
2307 LPITEMIDLIST
* ppidl
) = 0;
2309 virtual HRESULT STDMETHODCALLTYPE
SetIDList(
2310 LPCITEMIDLIST pidl
) = 0;
2312 virtual HRESULT STDMETHODCALLTYPE
GetDescription(
2316 virtual HRESULT STDMETHODCALLTYPE
SetDescription(
2317 LPCWSTR pszName
) = 0;
2319 virtual HRESULT STDMETHODCALLTYPE
GetWorkingDirectory(
2323 virtual HRESULT STDMETHODCALLTYPE
SetWorkingDirectory(
2324 LPCWSTR pszDir
) = 0;
2326 virtual HRESULT STDMETHODCALLTYPE
GetArguments(
2330 virtual HRESULT STDMETHODCALLTYPE
SetArguments(
2331 LPCWSTR pszArgs
) = 0;
2333 virtual HRESULT STDMETHODCALLTYPE
GetHotkey(
2334 WORD
* pwHotkey
) = 0;
2336 virtual HRESULT STDMETHODCALLTYPE
SetHotkey(
2339 virtual HRESULT STDMETHODCALLTYPE
GetShowCmd(
2340 int* piShowCmd
) = 0;
2342 virtual HRESULT STDMETHODCALLTYPE
SetShowCmd(
2345 virtual HRESULT STDMETHODCALLTYPE
GetIconLocation(
2350 virtual HRESULT STDMETHODCALLTYPE
SetIconLocation(
2351 LPCWSTR pszIconPath
,
2354 virtual HRESULT STDMETHODCALLTYPE
SetRelativePath(
2356 DWORD dwReserved
) = 0;
2358 virtual HRESULT STDMETHODCALLTYPE
Resolve(
2362 virtual HRESULT STDMETHODCALLTYPE
SetPath(
2363 LPCWSTR pszFile
) = 0;
2367 typedef struct IShellLinkWVtbl IShellLinkWVtbl
;
2368 struct IShellLinkW
{
2369 const IShellLinkWVtbl
* lpVtbl
;
2371 struct IShellLinkWVtbl
{
2374 /*** IUnknown methods ***/
2375 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
2380 ULONG (STDMETHODCALLTYPE
*AddRef
)(
2383 ULONG (STDMETHODCALLTYPE
*Release
)(
2386 /*** IShellLinkW methods ***/
2387 HRESULT (STDMETHODCALLTYPE
*GetPath
)(
2391 WIN32_FIND_DATAW
* pfd
,
2394 HRESULT (STDMETHODCALLTYPE
*GetIDList
)(
2396 LPITEMIDLIST
* ppidl
);
2398 HRESULT (STDMETHODCALLTYPE
*SetIDList
)(
2400 LPCITEMIDLIST pidl
);
2402 HRESULT (STDMETHODCALLTYPE
*GetDescription
)(
2407 HRESULT (STDMETHODCALLTYPE
*SetDescription
)(
2411 HRESULT (STDMETHODCALLTYPE
*GetWorkingDirectory
)(
2416 HRESULT (STDMETHODCALLTYPE
*SetWorkingDirectory
)(
2420 HRESULT (STDMETHODCALLTYPE
*GetArguments
)(
2425 HRESULT (STDMETHODCALLTYPE
*SetArguments
)(
2429 HRESULT (STDMETHODCALLTYPE
*GetHotkey
)(
2433 HRESULT (STDMETHODCALLTYPE
*SetHotkey
)(
2437 HRESULT (STDMETHODCALLTYPE
*GetShowCmd
)(
2441 HRESULT (STDMETHODCALLTYPE
*SetShowCmd
)(
2445 HRESULT (STDMETHODCALLTYPE
*GetIconLocation
)(
2451 HRESULT (STDMETHODCALLTYPE
*SetIconLocation
)(
2453 LPCWSTR pszIconPath
,
2456 HRESULT (STDMETHODCALLTYPE
*SetRelativePath
)(
2461 HRESULT (STDMETHODCALLTYPE
*Resolve
)(
2466 HRESULT (STDMETHODCALLTYPE
*SetPath
)(
2474 /*** IUnknown methods ***/
2475 #define IShellLinkW_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2476 #define IShellLinkW_AddRef(p) (p)->lpVtbl->AddRef(p)
2477 #define IShellLinkW_Release(p) (p)->lpVtbl->Release(p)
2478 /*** IShellLinkW methods ***/
2479 #define IShellLinkW_GetPath(p,a,b,c,d) (p)->lpVtbl->GetPath(p,a,b,c,d)
2480 #define IShellLinkW_GetIDList(p,a) (p)->lpVtbl->GetIDList(p,a)
2481 #define IShellLinkW_SetIDList(p,a) (p)->lpVtbl->SetIDList(p,a)
2482 #define IShellLinkW_GetDescription(p,a,b) (p)->lpVtbl->GetDescription(p,a,b)
2483 #define IShellLinkW_SetDescription(p,a) (p)->lpVtbl->SetDescription(p,a)
2484 #define IShellLinkW_GetWorkingDirectory(p,a,b) (p)->lpVtbl->GetWorkingDirectory(p,a,b)
2485 #define IShellLinkW_SetWorkingDirectory(p,a) (p)->lpVtbl->SetWorkingDirectory(p,a)
2486 #define IShellLinkW_GetArguments(p,a,b) (p)->lpVtbl->GetArguments(p,a,b)
2487 #define IShellLinkW_SetArguments(p,a) (p)->lpVtbl->SetArguments(p,a)
2488 #define IShellLinkW_GetHotkey(p,a) (p)->lpVtbl->GetHotkey(p,a)
2489 #define IShellLinkW_SetHotkey(p,a) (p)->lpVtbl->SetHotkey(p,a)
2490 #define IShellLinkW_GetShowCmd(p,a) (p)->lpVtbl->GetShowCmd(p,a)
2491 #define IShellLinkW_SetShowCmd(p,a) (p)->lpVtbl->SetShowCmd(p,a)
2492 #define IShellLinkW_GetIconLocation(p,a,b,c) (p)->lpVtbl->GetIconLocation(p,a,b,c)
2493 #define IShellLinkW_SetIconLocation(p,a,b) (p)->lpVtbl->SetIconLocation(p,a,b)
2494 #define IShellLinkW_SetRelativePath(p,a,b) (p)->lpVtbl->SetRelativePath(p,a,b)
2495 #define IShellLinkW_Resolve(p,a,b) (p)->lpVtbl->Resolve(p,a,b)
2496 #define IShellLinkW_SetPath(p,a) (p)->lpVtbl->SetPath(p,a)
2501 #define IShellLinkW_METHODS \
2502 /*** IUnknown methods ***/ \
2503 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2504 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2505 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2506 /*** IShellLinkW methods ***/ \
2507 STDMETHOD_(HRESULT,GetPath)(THIS_ LPWSTR pszFile, int cch, WIN32_FIND_DATAW* pfd, DWORD fFlags) PURE; \
2508 STDMETHOD_(HRESULT,GetIDList)(THIS_ LPITEMIDLIST* ppidl) PURE; \
2509 STDMETHOD_(HRESULT,SetIDList)(THIS_ LPCITEMIDLIST pidl) PURE; \
2510 STDMETHOD_(HRESULT,GetDescription)(THIS_ LPWSTR pszName, int cch) PURE; \
2511 STDMETHOD_(HRESULT,SetDescription)(THIS_ LPCWSTR pszName) PURE; \
2512 STDMETHOD_(HRESULT,GetWorkingDirectory)(THIS_ LPWSTR pszDir, int cch) PURE; \
2513 STDMETHOD_(HRESULT,SetWorkingDirectory)(THIS_ LPCWSTR pszDir) PURE; \
2514 STDMETHOD_(HRESULT,GetArguments)(THIS_ LPWSTR pszArgs, int cch) PURE; \
2515 STDMETHOD_(HRESULT,SetArguments)(THIS_ LPCWSTR pszArgs) PURE; \
2516 STDMETHOD_(HRESULT,GetHotkey)(THIS_ WORD* pwHotkey) PURE; \
2517 STDMETHOD_(HRESULT,SetHotkey)(THIS_ WORD wHotkey) PURE; \
2518 STDMETHOD_(HRESULT,GetShowCmd)(THIS_ int* piShowCmd) PURE; \
2519 STDMETHOD_(HRESULT,SetShowCmd)(THIS_ int iShowCmd) PURE; \
2520 STDMETHOD_(HRESULT,GetIconLocation)(THIS_ LPWSTR pszIconPath, int cch, int* piIcon) PURE; \
2521 STDMETHOD_(HRESULT,SetIconLocation)(THIS_ LPCWSTR pszIconPath, int iIcon) PURE; \
2522 STDMETHOD_(HRESULT,SetRelativePath)(THIS_ LPCWSTR pszPathRel, DWORD dwReserved) PURE; \
2523 STDMETHOD_(HRESULT,Resolve)(THIS_ HWND hwnd, DWORD fFlags) PURE; \
2524 STDMETHOD_(HRESULT,SetPath)(THIS_ LPCWSTR pszFile) PURE;
2526 HRESULT CALLBACK
IShellLinkW_GetPath_Proxy(
2530 WIN32_FIND_DATAW
* pfd
,
2532 void __RPC_STUB
IShellLinkW_GetPath_Stub(
2533 struct IRpcStubBuffer
* This
,
2534 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2535 PRPC_MESSAGE pRpcMessage
,
2536 DWORD
* pdwStubPhase
);
2537 HRESULT CALLBACK
IShellLinkW_GetIDList_Proxy(
2539 LPITEMIDLIST
* ppidl
);
2540 void __RPC_STUB
IShellLinkW_GetIDList_Stub(
2541 struct IRpcStubBuffer
* This
,
2542 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2543 PRPC_MESSAGE pRpcMessage
,
2544 DWORD
* pdwStubPhase
);
2545 HRESULT CALLBACK
IShellLinkW_SetIDList_Proxy(
2547 LPCITEMIDLIST pidl
);
2548 void __RPC_STUB
IShellLinkW_SetIDList_Stub(
2549 struct IRpcStubBuffer
* This
,
2550 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2551 PRPC_MESSAGE pRpcMessage
,
2552 DWORD
* pdwStubPhase
);
2553 HRESULT CALLBACK
IShellLinkW_GetDescription_Proxy(
2557 void __RPC_STUB
IShellLinkW_GetDescription_Stub(
2558 struct IRpcStubBuffer
* This
,
2559 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2560 PRPC_MESSAGE pRpcMessage
,
2561 DWORD
* pdwStubPhase
);
2562 HRESULT CALLBACK
IShellLinkW_SetDescription_Proxy(
2565 void __RPC_STUB
IShellLinkW_SetDescription_Stub(
2566 struct IRpcStubBuffer
* This
,
2567 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2568 PRPC_MESSAGE pRpcMessage
,
2569 DWORD
* pdwStubPhase
);
2570 HRESULT CALLBACK
IShellLinkW_GetWorkingDirectory_Proxy(
2574 void __RPC_STUB
IShellLinkW_GetWorkingDirectory_Stub(
2575 struct IRpcStubBuffer
* This
,
2576 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2577 PRPC_MESSAGE pRpcMessage
,
2578 DWORD
* pdwStubPhase
);
2579 HRESULT CALLBACK
IShellLinkW_SetWorkingDirectory_Proxy(
2582 void __RPC_STUB
IShellLinkW_SetWorkingDirectory_Stub(
2583 struct IRpcStubBuffer
* This
,
2584 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2585 PRPC_MESSAGE pRpcMessage
,
2586 DWORD
* pdwStubPhase
);
2587 HRESULT CALLBACK
IShellLinkW_GetArguments_Proxy(
2591 void __RPC_STUB
IShellLinkW_GetArguments_Stub(
2592 struct IRpcStubBuffer
* This
,
2593 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2594 PRPC_MESSAGE pRpcMessage
,
2595 DWORD
* pdwStubPhase
);
2596 HRESULT CALLBACK
IShellLinkW_SetArguments_Proxy(
2599 void __RPC_STUB
IShellLinkW_SetArguments_Stub(
2600 struct IRpcStubBuffer
* This
,
2601 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2602 PRPC_MESSAGE pRpcMessage
,
2603 DWORD
* pdwStubPhase
);
2604 HRESULT CALLBACK
IShellLinkW_GetHotkey_Proxy(
2607 void __RPC_STUB
IShellLinkW_GetHotkey_Stub(
2608 struct IRpcStubBuffer
* This
,
2609 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2610 PRPC_MESSAGE pRpcMessage
,
2611 DWORD
* pdwStubPhase
);
2612 HRESULT CALLBACK
IShellLinkW_SetHotkey_Proxy(
2615 void __RPC_STUB
IShellLinkW_SetHotkey_Stub(
2616 struct IRpcStubBuffer
* This
,
2617 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2618 PRPC_MESSAGE pRpcMessage
,
2619 DWORD
* pdwStubPhase
);
2620 HRESULT CALLBACK
IShellLinkW_GetShowCmd_Proxy(
2623 void __RPC_STUB
IShellLinkW_GetShowCmd_Stub(
2624 struct IRpcStubBuffer
* This
,
2625 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2626 PRPC_MESSAGE pRpcMessage
,
2627 DWORD
* pdwStubPhase
);
2628 HRESULT CALLBACK
IShellLinkW_SetShowCmd_Proxy(
2631 void __RPC_STUB
IShellLinkW_SetShowCmd_Stub(
2632 struct IRpcStubBuffer
* This
,
2633 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2634 PRPC_MESSAGE pRpcMessage
,
2635 DWORD
* pdwStubPhase
);
2636 HRESULT CALLBACK
IShellLinkW_GetIconLocation_Proxy(
2641 void __RPC_STUB
IShellLinkW_GetIconLocation_Stub(
2642 struct IRpcStubBuffer
* This
,
2643 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2644 PRPC_MESSAGE pRpcMessage
,
2645 DWORD
* pdwStubPhase
);
2646 HRESULT CALLBACK
IShellLinkW_SetIconLocation_Proxy(
2648 LPCWSTR pszIconPath
,
2650 void __RPC_STUB
IShellLinkW_SetIconLocation_Stub(
2651 struct IRpcStubBuffer
* This
,
2652 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2653 PRPC_MESSAGE pRpcMessage
,
2654 DWORD
* pdwStubPhase
);
2655 HRESULT CALLBACK
IShellLinkW_SetRelativePath_Proxy(
2659 void __RPC_STUB
IShellLinkW_SetRelativePath_Stub(
2660 struct IRpcStubBuffer
* This
,
2661 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2662 PRPC_MESSAGE pRpcMessage
,
2663 DWORD
* pdwStubPhase
);
2664 HRESULT CALLBACK
IShellLinkW_Resolve_Proxy(
2668 void __RPC_STUB
IShellLinkW_Resolve_Stub(
2669 struct IRpcStubBuffer
* This
,
2670 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2671 PRPC_MESSAGE pRpcMessage
,
2672 DWORD
* pdwStubPhase
);
2673 HRESULT CALLBACK
IShellLinkW_SetPath_Proxy(
2676 void __RPC_STUB
IShellLinkW_SetPath_Stub(
2677 struct IRpcStubBuffer
* This
,
2678 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2679 PRPC_MESSAGE pRpcMessage
,
2680 DWORD
* pdwStubPhase
);
2682 #endif /* __IShellLinkW_INTERFACE_DEFINED__ */
2684 #define IShellLink WINELIB_NAME_AW(IShellLink)
2685 #ifndef __IShellExtInit_FWD_DEFINED__
2686 #define __IShellExtInit_FWD_DEFINED__
2687 typedef struct IShellExtInit IShellExtInit
;
2690 typedef IShellExtInit
*LPSHELLEXTINIT
;
2692 /*****************************************************************************
2693 * IShellExtInit interface
2695 #ifndef __IShellExtInit_INTERFACE_DEFINED__
2696 #define __IShellExtInit_INTERFACE_DEFINED__
2698 DEFINE_GUID(IID_IShellExtInit
, 0x000214e8, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2699 #if defined(__cplusplus) && !defined(CINTERFACE)
2700 struct IShellExtInit
: public IUnknown
2702 virtual HRESULT STDMETHODCALLTYPE
Initialize(
2703 LPCITEMIDLIST pidlFolder
,
2704 IDataObject
* pdtobj
,
2705 HKEY hkeyProgID
) = 0;
2709 typedef struct IShellExtInitVtbl IShellExtInitVtbl
;
2710 struct IShellExtInit
{
2711 const IShellExtInitVtbl
* lpVtbl
;
2713 struct IShellExtInitVtbl
{
2716 /*** IUnknown methods ***/
2717 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
2718 IShellExtInit
* This
,
2722 ULONG (STDMETHODCALLTYPE
*AddRef
)(
2723 IShellExtInit
* This
);
2725 ULONG (STDMETHODCALLTYPE
*Release
)(
2726 IShellExtInit
* This
);
2728 /*** IShellExtInit methods ***/
2729 HRESULT (STDMETHODCALLTYPE
*Initialize
)(
2730 IShellExtInit
* This
,
2731 LPCITEMIDLIST pidlFolder
,
2732 IDataObject
* pdtobj
,
2739 /*** IUnknown methods ***/
2740 #define IShellExtInit_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2741 #define IShellExtInit_AddRef(p) (p)->lpVtbl->AddRef(p)
2742 #define IShellExtInit_Release(p) (p)->lpVtbl->Release(p)
2743 /*** IShellExtInit methods ***/
2744 #define IShellExtInit_Initialize(p,a,b,c) (p)->lpVtbl->Initialize(p,a,b,c)
2749 #define IShellExtInit_METHODS \
2750 /*** IUnknown methods ***/ \
2751 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2752 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2753 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2754 /*** IShellExtInit methods ***/ \
2755 STDMETHOD_(HRESULT,Initialize)(THIS_ LPCITEMIDLIST pidlFolder, IDataObject* pdtobj, HKEY hkeyProgID) PURE;
2757 HRESULT CALLBACK
IShellExtInit_Initialize_Proxy(
2758 IShellExtInit
* This
,
2759 LPCITEMIDLIST pidlFolder
,
2760 IDataObject
* pdtobj
,
2762 void __RPC_STUB
IShellExtInit_Initialize_Stub(
2763 struct IRpcStubBuffer
* This
,
2764 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2765 PRPC_MESSAGE pRpcMessage
,
2766 DWORD
* pdwStubPhase
);
2768 #endif /* __IShellExtInit_INTERFACE_DEFINED__ */
2770 #ifndef __IPersistFolder3_FWD_DEFINED__
2771 #define __IPersistFolder3_FWD_DEFINED__
2772 typedef struct IPersistFolder3 IPersistFolder3
;
2776 LPITEMIDLIST pidlTargetFolder
;
2777 WCHAR szTargetParsingName
[260];
2778 WCHAR szNetworkProvider
[260];
2781 } PERSIST_FOLDER_TARGET_INFO
;
2783 /*****************************************************************************
2784 * IPersistFolder3 interface
2786 #ifndef __IPersistFolder3_INTERFACE_DEFINED__
2787 #define __IPersistFolder3_INTERFACE_DEFINED__
2789 DEFINE_GUID(IID_IPersistFolder3
, 0xcef04fdf, 0xfe72, 0x11d2, 0x87,0xa5, 0x00,0xc0,0x4f,0x68,0x37,0xcf);
2790 #if defined(__cplusplus) && !defined(CINTERFACE)
2791 struct IPersistFolder3
: public IPersistFolder2
2793 virtual HRESULT STDMETHODCALLTYPE
InitializeEx(
2795 LPCITEMIDLIST pidlRoot
,
2796 const PERSIST_FOLDER_TARGET_INFO
* ppfti
) = 0;
2798 virtual HRESULT STDMETHODCALLTYPE
GetFolderTargetInfo(
2799 PERSIST_FOLDER_TARGET_INFO
* ppfti
) = 0;
2803 typedef struct IPersistFolder3Vtbl IPersistFolder3Vtbl
;
2804 struct IPersistFolder3
{
2805 const IPersistFolder3Vtbl
* lpVtbl
;
2807 struct IPersistFolder3Vtbl
{
2810 /*** IUnknown methods ***/
2811 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
2812 IPersistFolder3
* This
,
2816 ULONG (STDMETHODCALLTYPE
*AddRef
)(
2817 IPersistFolder3
* This
);
2819 ULONG (STDMETHODCALLTYPE
*Release
)(
2820 IPersistFolder3
* This
);
2822 /*** IPersist methods ***/
2823 HRESULT (STDMETHODCALLTYPE
*GetClassID
)(
2824 IPersistFolder3
* This
,
2827 /*** IPersistFolder methods ***/
2828 HRESULT (STDMETHODCALLTYPE
*Initialize
)(
2829 IPersistFolder3
* This
,
2830 LPCITEMIDLIST pidl
);
2832 /*** IPersistFolder2 methods ***/
2833 HRESULT (STDMETHODCALLTYPE
*GetCurFolder
)(
2834 IPersistFolder3
* This
,
2835 LPITEMIDLIST
* ppidl
);
2837 /*** IPersistFolder3 methods ***/
2838 HRESULT (STDMETHODCALLTYPE
*InitializeEx
)(
2839 IPersistFolder3
* This
,
2841 LPCITEMIDLIST pidlRoot
,
2842 const PERSIST_FOLDER_TARGET_INFO
* ppfti
);
2844 HRESULT (STDMETHODCALLTYPE
*GetFolderTargetInfo
)(
2845 IPersistFolder3
* This
,
2846 PERSIST_FOLDER_TARGET_INFO
* ppfti
);
2852 /*** IUnknown methods ***/
2853 #define IPersistFolder3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2854 #define IPersistFolder3_AddRef(p) (p)->lpVtbl->AddRef(p)
2855 #define IPersistFolder3_Release(p) (p)->lpVtbl->Release(p)
2856 /*** IPersist methods ***/
2857 #define IPersistFolder3_GetClassID(p,a) (p)->lpVtbl->GetClassID(p,a)
2858 /*** IPersistFolder methods ***/
2859 #define IPersistFolder3_Initialize(p,a) (p)->lpVtbl->Initialize(p,a)
2860 /*** IPersistFolder2 methods ***/
2861 #define IPersistFolder3_GetCurFolder(p,a) (p)->lpVtbl->GetCurFolder(p,a)
2862 /*** IPersistFolder3 methods ***/
2863 #define IPersistFolder3_InitializeEx(p,a,b,c) (p)->lpVtbl->InitializeEx(p,a,b,c)
2864 #define IPersistFolder3_GetFolderTargetInfo(p,a) (p)->lpVtbl->GetFolderTargetInfo(p,a)
2869 #define IPersistFolder3_METHODS \
2870 /*** IUnknown methods ***/ \
2871 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
2872 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
2873 STDMETHOD_(ULONG,Release)(THIS) PURE; \
2874 /*** IPersist methods ***/ \
2875 STDMETHOD_(HRESULT,GetClassID)(THIS_ CLSID* pClassID) PURE; \
2876 /*** IPersistFolder methods ***/ \
2877 STDMETHOD_(HRESULT,Initialize)(THIS_ LPCITEMIDLIST pidl) PURE; \
2878 /*** IPersistFolder2 methods ***/ \
2879 STDMETHOD_(HRESULT,GetCurFolder)(THIS_ LPITEMIDLIST* ppidl) PURE; \
2880 /*** IPersistFolder3 methods ***/ \
2881 STDMETHOD_(HRESULT,InitializeEx)(THIS_ IBindCtx* pbc, LPCITEMIDLIST pidlRoot, const PERSIST_FOLDER_TARGET_INFO* ppfti) PURE; \
2882 STDMETHOD_(HRESULT,GetFolderTargetInfo)(THIS_ PERSIST_FOLDER_TARGET_INFO* ppfti) PURE;
2884 HRESULT CALLBACK
IPersistFolder3_InitializeEx_Proxy(
2885 IPersistFolder3
* This
,
2887 LPCITEMIDLIST pidlRoot
,
2888 const PERSIST_FOLDER_TARGET_INFO
* ppfti
);
2889 void __RPC_STUB
IPersistFolder3_InitializeEx_Stub(
2890 struct IRpcStubBuffer
* This
,
2891 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2892 PRPC_MESSAGE pRpcMessage
,
2893 DWORD
* pdwStubPhase
);
2894 HRESULT CALLBACK
IPersistFolder3_GetFolderTargetInfo_Proxy(
2895 IPersistFolder3
* This
,
2896 PERSIST_FOLDER_TARGET_INFO
* ppfti
);
2897 void __RPC_STUB
IPersistFolder3_GetFolderTargetInfo_Stub(
2898 struct IRpcStubBuffer
* This
,
2899 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
2900 PRPC_MESSAGE pRpcMessage
,
2901 DWORD
* pdwStubPhase
);
2903 #endif /* __IPersistFolder3_INTERFACE_DEFINED__ */
2905 #ifndef __IExtractIconA_FWD_DEFINED__
2906 #define __IExtractIconA_FWD_DEFINED__
2907 typedef struct IExtractIconA IExtractIconA
;
2910 #define GIL_OPENICON 0x0001
2911 #define GIL_FORSHELL 0x0002
2912 #define GIL_ASYNC 0x0020
2913 #define GIL_DEFAULTICON 0x0040
2914 #define GIL_FORSHORTCUT 0x0080
2915 #define GIL_SIMULATEDOC 0x0001
2916 #define GIL_PERINSTANCE 0x0002
2917 #define GIL_PERCLASS 0x0004
2918 #define GIL_NOTFILENAME 0x0008
2919 #define GIL_DONTCACHE 0x0010
2920 typedef IExtractIconA
*LPEXTRACTICONA
;
2922 /*****************************************************************************
2923 * IExtractIconA interface
2925 #ifndef __IExtractIconA_INTERFACE_DEFINED__
2926 #define __IExtractIconA_INTERFACE_DEFINED__
2928 DEFINE_GUID(IID_IExtractIconA
, 0x000214eb, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2929 #if defined(__cplusplus) && !defined(CINTERFACE)
2930 struct IExtractIconA
: public IUnknown
2932 virtual HRESULT STDMETHODCALLTYPE
GetIconLocation(
2939 virtual HRESULT STDMETHODCALLTYPE
Extract(
2944 UINT nIconSize
) = 0;
2948 typedef struct IExtractIconAVtbl IExtractIconAVtbl
;
2949 struct IExtractIconA
{
2950 const IExtractIconAVtbl
* lpVtbl
;
2952 struct IExtractIconAVtbl
{
2955 /*** IUnknown methods ***/
2956 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
2957 IExtractIconA
* This
,
2961 ULONG (STDMETHODCALLTYPE
*AddRef
)(
2962 IExtractIconA
* This
);
2964 ULONG (STDMETHODCALLTYPE
*Release
)(
2965 IExtractIconA
* This
);
2967 /*** IExtractIconA methods ***/
2968 HRESULT (STDMETHODCALLTYPE
*GetIconLocation
)(
2969 IExtractIconA
* This
,
2976 HRESULT (STDMETHODCALLTYPE
*Extract
)(
2977 IExtractIconA
* This
,
2988 /*** IUnknown methods ***/
2989 #define IExtractIconA_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
2990 #define IExtractIconA_AddRef(p) (p)->lpVtbl->AddRef(p)
2991 #define IExtractIconA_Release(p) (p)->lpVtbl->Release(p)
2992 /*** IExtractIconA methods ***/
2993 #define IExtractIconA_GetIconLocation(p,a,b,c,d,e) (p)->lpVtbl->GetIconLocation(p,a,b,c,d,e)
2994 #define IExtractIconA_Extract(p,a,b,c,d,e) (p)->lpVtbl->Extract(p,a,b,c,d,e)
2999 #define IExtractIconA_METHODS \
3000 /*** IUnknown methods ***/ \
3001 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3002 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3003 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3004 /*** IExtractIconA methods ***/ \
3005 STDMETHOD_(HRESULT,GetIconLocation)(THIS_ UINT uFlags, LPSTR szIconFile, UINT cchMax, INT* piIndex, UINT* pwFlags) PURE; \
3006 STDMETHOD_(HRESULT,Extract)(THIS_ LPCSTR pszFile, UINT nIconIndex, HICON* phiconLarge, HICON* phiconSmall, UINT nIconSize) PURE;
3008 HRESULT CALLBACK
IExtractIconA_GetIconLocation_Proxy(
3009 IExtractIconA
* This
,
3015 void __RPC_STUB
IExtractIconA_GetIconLocation_Stub(
3016 struct IRpcStubBuffer
* This
,
3017 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3018 PRPC_MESSAGE pRpcMessage
,
3019 DWORD
* pdwStubPhase
);
3020 HRESULT CALLBACK
IExtractIconA_Extract_Proxy(
3021 IExtractIconA
* This
,
3027 void __RPC_STUB
IExtractIconA_Extract_Stub(
3028 struct IRpcStubBuffer
* This
,
3029 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3030 PRPC_MESSAGE pRpcMessage
,
3031 DWORD
* pdwStubPhase
);
3033 #endif /* __IExtractIconA_INTERFACE_DEFINED__ */
3035 #ifndef __IExtractIconW_FWD_DEFINED__
3036 #define __IExtractIconW_FWD_DEFINED__
3037 typedef struct IExtractIconW IExtractIconW
;
3040 typedef IExtractIconW
*LPEXTRACTICONW
;
3042 /*****************************************************************************
3043 * IExtractIconW interface
3045 #ifndef __IExtractIconW_INTERFACE_DEFINED__
3046 #define __IExtractIconW_INTERFACE_DEFINED__
3048 DEFINE_GUID(IID_IExtractIconW
, 0x000214fa, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3049 #if defined(__cplusplus) && !defined(CINTERFACE)
3050 struct IExtractIconW
: public IUnknown
3052 virtual HRESULT STDMETHODCALLTYPE
GetIconLocation(
3059 virtual HRESULT STDMETHODCALLTYPE
Extract(
3064 UINT nIconSize
) = 0;
3068 typedef struct IExtractIconWVtbl IExtractIconWVtbl
;
3069 struct IExtractIconW
{
3070 const IExtractIconWVtbl
* lpVtbl
;
3072 struct IExtractIconWVtbl
{
3075 /*** IUnknown methods ***/
3076 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3077 IExtractIconW
* This
,
3081 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3082 IExtractIconW
* This
);
3084 ULONG (STDMETHODCALLTYPE
*Release
)(
3085 IExtractIconW
* This
);
3087 /*** IExtractIconW methods ***/
3088 HRESULT (STDMETHODCALLTYPE
*GetIconLocation
)(
3089 IExtractIconW
* This
,
3096 HRESULT (STDMETHODCALLTYPE
*Extract
)(
3097 IExtractIconW
* This
,
3108 /*** IUnknown methods ***/
3109 #define IExtractIconW_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3110 #define IExtractIconW_AddRef(p) (p)->lpVtbl->AddRef(p)
3111 #define IExtractIconW_Release(p) (p)->lpVtbl->Release(p)
3112 /*** IExtractIconW methods ***/
3113 #define IExtractIconW_GetIconLocation(p,a,b,c,d,e) (p)->lpVtbl->GetIconLocation(p,a,b,c,d,e)
3114 #define IExtractIconW_Extract(p,a,b,c,d,e) (p)->lpVtbl->Extract(p,a,b,c,d,e)
3119 #define IExtractIconW_METHODS \
3120 /*** IUnknown methods ***/ \
3121 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3122 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3123 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3124 /*** IExtractIconW methods ***/ \
3125 STDMETHOD_(HRESULT,GetIconLocation)(THIS_ UINT uFlags, LPWSTR szIconFile, UINT cchMax, INT* piIndex, UINT* pwFlags) PURE; \
3126 STDMETHOD_(HRESULT,Extract)(THIS_ LPCWSTR pszFile, UINT nIconIndex, HICON* phiconLarge, HICON* phiconSmall, UINT nIconSize) PURE;
3128 HRESULT CALLBACK
IExtractIconW_GetIconLocation_Proxy(
3129 IExtractIconW
* This
,
3135 void __RPC_STUB
IExtractIconW_GetIconLocation_Stub(
3136 struct IRpcStubBuffer
* This
,
3137 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3138 PRPC_MESSAGE pRpcMessage
,
3139 DWORD
* pdwStubPhase
);
3140 HRESULT CALLBACK
IExtractIconW_Extract_Proxy(
3141 IExtractIconW
* This
,
3147 void __RPC_STUB
IExtractIconW_Extract_Stub(
3148 struct IRpcStubBuffer
* This
,
3149 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3150 PRPC_MESSAGE pRpcMessage
,
3151 DWORD
* pdwStubPhase
);
3153 #endif /* __IExtractIconW_INTERFACE_DEFINED__ */
3155 #define LPEXTRACTICON WINELIB_NAME_AW(LPEXTRACTICON)
3156 #define IExtractIcon WINELIB_NAME_AW(IExtractIcon)
3157 #ifndef __ICommDlgBrowser_FWD_DEFINED__
3158 #define __ICommDlgBrowser_FWD_DEFINED__
3159 typedef struct ICommDlgBrowser ICommDlgBrowser
;
3162 #define CDBOSC_SETFOCUS 0x00000000
3163 #define CDBOSC_KILLFOCUS 0x00000001
3164 #define CDBOSC_SELCHANGE 0x00000002
3165 #define CDBOSC_RENAME 0x00000003
3166 #define CDBOSC_STATECHANGE 0x00000004
3167 typedef ICommDlgBrowser
*LPCOMMDLGBROWSER
;
3169 /*****************************************************************************
3170 * ICommDlgBrowser interface
3172 #ifndef __ICommDlgBrowser_INTERFACE_DEFINED__
3173 #define __ICommDlgBrowser_INTERFACE_DEFINED__
3175 DEFINE_GUID(IID_ICommDlgBrowser
, 0x000214f1, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3176 #if defined(__cplusplus) && !defined(CINTERFACE)
3177 struct ICommDlgBrowser
: public IUnknown
3179 virtual HRESULT STDMETHODCALLTYPE
OnDefaultCommand(
3180 IShellView
* shv
) = 0;
3182 virtual HRESULT STDMETHODCALLTYPE
OnStateChange(
3186 virtual HRESULT STDMETHODCALLTYPE
IncludeObject(
3188 LPCITEMIDLIST pidl
) = 0;
3192 typedef struct ICommDlgBrowserVtbl ICommDlgBrowserVtbl
;
3193 struct ICommDlgBrowser
{
3194 const ICommDlgBrowserVtbl
* lpVtbl
;
3196 struct ICommDlgBrowserVtbl
{
3199 /*** IUnknown methods ***/
3200 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3201 ICommDlgBrowser
* This
,
3205 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3206 ICommDlgBrowser
* This
);
3208 ULONG (STDMETHODCALLTYPE
*Release
)(
3209 ICommDlgBrowser
* This
);
3211 /*** ICommDlgBrowser methods ***/
3212 HRESULT (STDMETHODCALLTYPE
*OnDefaultCommand
)(
3213 ICommDlgBrowser
* This
,
3216 HRESULT (STDMETHODCALLTYPE
*OnStateChange
)(
3217 ICommDlgBrowser
* This
,
3221 HRESULT (STDMETHODCALLTYPE
*IncludeObject
)(
3222 ICommDlgBrowser
* This
,
3224 LPCITEMIDLIST pidl
);
3230 /*** IUnknown methods ***/
3231 #define ICommDlgBrowser_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3232 #define ICommDlgBrowser_AddRef(p) (p)->lpVtbl->AddRef(p)
3233 #define ICommDlgBrowser_Release(p) (p)->lpVtbl->Release(p)
3234 /*** ICommDlgBrowser methods ***/
3235 #define ICommDlgBrowser_OnDefaultCommand(p,a) (p)->lpVtbl->OnDefaultCommand(p,a)
3236 #define ICommDlgBrowser_OnStateChange(p,a,b) (p)->lpVtbl->OnStateChange(p,a,b)
3237 #define ICommDlgBrowser_IncludeObject(p,a,b) (p)->lpVtbl->IncludeObject(p,a,b)
3242 #define ICommDlgBrowser_METHODS \
3243 /*** IUnknown methods ***/ \
3244 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3245 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3246 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3247 /*** ICommDlgBrowser methods ***/ \
3248 STDMETHOD_(HRESULT,OnDefaultCommand)(THIS_ IShellView* shv) PURE; \
3249 STDMETHOD_(HRESULT,OnStateChange)(THIS_ IShellView* shv, ULONG uChange) PURE; \
3250 STDMETHOD_(HRESULT,IncludeObject)(THIS_ IShellView* shv, LPCITEMIDLIST pidl) PURE;
3252 HRESULT CALLBACK
ICommDlgBrowser_OnDefaultCommand_Proxy(
3253 ICommDlgBrowser
* This
,
3255 void __RPC_STUB
ICommDlgBrowser_OnDefaultCommand_Stub(
3256 struct IRpcStubBuffer
* This
,
3257 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3258 PRPC_MESSAGE pRpcMessage
,
3259 DWORD
* pdwStubPhase
);
3260 HRESULT CALLBACK
ICommDlgBrowser_OnStateChange_Proxy(
3261 ICommDlgBrowser
* This
,
3264 void __RPC_STUB
ICommDlgBrowser_OnStateChange_Stub(
3265 struct IRpcStubBuffer
* This
,
3266 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3267 PRPC_MESSAGE pRpcMessage
,
3268 DWORD
* pdwStubPhase
);
3269 HRESULT CALLBACK
ICommDlgBrowser_IncludeObject_Proxy(
3270 ICommDlgBrowser
* This
,
3272 LPCITEMIDLIST pidl
);
3273 void __RPC_STUB
ICommDlgBrowser_IncludeObject_Stub(
3274 struct IRpcStubBuffer
* This
,
3275 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3276 PRPC_MESSAGE pRpcMessage
,
3277 DWORD
* pdwStubPhase
);
3279 #endif /* __ICommDlgBrowser_INTERFACE_DEFINED__ */
3281 #ifndef __IDockingWindowFrame_FWD_DEFINED__
3282 #define __IDockingWindowFrame_FWD_DEFINED__
3283 typedef struct IDockingWindowFrame IDockingWindowFrame
;
3286 #define DWFRF_NORMAL 0x0000
3287 #define DWFRF_DELETECONFIGDATA 0x0001
3288 #define DWFAF_HIDDEN 0x0001
3289 /*****************************************************************************
3290 * IDockingWindowFrame interface
3292 #ifndef __IDockingWindowFrame_INTERFACE_DEFINED__
3293 #define __IDockingWindowFrame_INTERFACE_DEFINED__
3295 DEFINE_GUID(IID_IDockingWindowFrame
, 0x47d2657a, 0x7b27, 0x11d0, 0x8c,0xa9, 0x00,0xa0,0xc9,0x2d,0xbf,0xe8);
3296 #if defined(__cplusplus) && !defined(CINTERFACE)
3297 struct IDockingWindowFrame
: public IOleWindow
3299 virtual HRESULT STDMETHODCALLTYPE
AddToolbar(
3302 DWORD dwAddFlags
) = 0;
3304 virtual HRESULT STDMETHODCALLTYPE
RemoveToolbar(
3306 DWORD dwRemoveFlags
) = 0;
3308 virtual HRESULT STDMETHODCALLTYPE
FindToolbar(
3311 LPVOID
* ppvObj
) = 0;
3315 typedef struct IDockingWindowFrameVtbl IDockingWindowFrameVtbl
;
3316 struct IDockingWindowFrame
{
3317 const IDockingWindowFrameVtbl
* lpVtbl
;
3319 struct IDockingWindowFrameVtbl
{
3322 /*** IUnknown methods ***/
3323 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3324 IDockingWindowFrame
* This
,
3328 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3329 IDockingWindowFrame
* This
);
3331 ULONG (STDMETHODCALLTYPE
*Release
)(
3332 IDockingWindowFrame
* This
);
3334 /*** IOleWindow methods ***/
3335 HRESULT (STDMETHODCALLTYPE
*GetWindow
)(
3336 IDockingWindowFrame
* This
,
3339 HRESULT (STDMETHODCALLTYPE
*ContextSensitiveHelp
)(
3340 IDockingWindowFrame
* This
,
3343 /*** IDockingWindowFrame methods ***/
3344 HRESULT (STDMETHODCALLTYPE
*AddToolbar
)(
3345 IDockingWindowFrame
* This
,
3350 HRESULT (STDMETHODCALLTYPE
*RemoveToolbar
)(
3351 IDockingWindowFrame
* This
,
3353 DWORD dwRemoveFlags
);
3355 HRESULT (STDMETHODCALLTYPE
*FindToolbar
)(
3356 IDockingWindowFrame
* This
,
3365 /*** IUnknown methods ***/
3366 #define IDockingWindowFrame_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3367 #define IDockingWindowFrame_AddRef(p) (p)->lpVtbl->AddRef(p)
3368 #define IDockingWindowFrame_Release(p) (p)->lpVtbl->Release(p)
3369 /*** IOleWindow methods ***/
3370 #define IDockingWindowFrame_GetWindow(p,a) (p)->lpVtbl->GetWindow(p,a)
3371 #define IDockingWindowFrame_ContextSensitiveHelp(p,a) (p)->lpVtbl->ContextSensitiveHelp(p,a)
3372 /*** IDockingWindowFrame methods ***/
3373 #define IDockingWindowFrame_AddToolbar(p,a,b,c) (p)->lpVtbl->AddToolbar(p,a,b,c)
3374 #define IDockingWindowFrame_RemoveToolbar(p,a,b) (p)->lpVtbl->RemoveToolbar(p,a,b)
3375 #define IDockingWindowFrame_FindToolbar(p,a,b,c) (p)->lpVtbl->FindToolbar(p,a,b,c)
3380 #define IDockingWindowFrame_METHODS \
3381 /*** IUnknown methods ***/ \
3382 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3383 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3384 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3385 /*** IOleWindow methods ***/ \
3386 STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND* phwnd) PURE; \
3387 STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE; \
3388 /*** IDockingWindowFrame methods ***/ \
3389 STDMETHOD_(HRESULT,AddToolbar)(THIS_ IUnknown* punkSrc, LPCWSTR pwszItem, DWORD dwAddFlags) PURE; \
3390 STDMETHOD_(HRESULT,RemoveToolbar)(THIS_ IUnknown* punkSrc, DWORD dwRemoveFlags) PURE; \
3391 STDMETHOD_(HRESULT,FindToolbar)(THIS_ LPCWSTR pwszItem, REFIID riid, LPVOID* ppvObj) PURE;
3393 HRESULT CALLBACK
IDockingWindowFrame_AddToolbar_Proxy(
3394 IDockingWindowFrame
* This
,
3398 void __RPC_STUB
IDockingWindowFrame_AddToolbar_Stub(
3399 struct IRpcStubBuffer
* This
,
3400 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3401 PRPC_MESSAGE pRpcMessage
,
3402 DWORD
* pdwStubPhase
);
3403 HRESULT CALLBACK
IDockingWindowFrame_RemoveToolbar_Proxy(
3404 IDockingWindowFrame
* This
,
3406 DWORD dwRemoveFlags
);
3407 void __RPC_STUB
IDockingWindowFrame_RemoveToolbar_Stub(
3408 struct IRpcStubBuffer
* This
,
3409 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3410 PRPC_MESSAGE pRpcMessage
,
3411 DWORD
* pdwStubPhase
);
3412 HRESULT CALLBACK
IDockingWindowFrame_FindToolbar_Proxy(
3413 IDockingWindowFrame
* This
,
3417 void __RPC_STUB
IDockingWindowFrame_FindToolbar_Stub(
3418 struct IRpcStubBuffer
* This
,
3419 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3420 PRPC_MESSAGE pRpcMessage
,
3421 DWORD
* pdwStubPhase
);
3423 #endif /* __IDockingWindowFrame_INTERFACE_DEFINED__ */
3425 #ifndef __IDragSourceHelper_FWD_DEFINED__
3426 #define __IDragSourceHelper_FWD_DEFINED__
3427 typedef struct IDragSourceHelper IDragSourceHelper
;
3433 HBITMAP hbmpDragImage
;
3434 COLORREF crColorKey
;
3435 } SHDRAGIMAGE
, *LPSHDRAGIMAGE
;
3437 /*****************************************************************************
3438 * IDragSourceHelper interface
3440 #ifndef __IDragSourceHelper_INTERFACE_DEFINED__
3441 #define __IDragSourceHelper_INTERFACE_DEFINED__
3443 DEFINE_GUID(IID_IDragSourceHelper
, 0xde5bf786, 0x477a, 0x11d2, 0x83,0x9d, 0x00,0xc0,0x4f,0xd9,0x18,0xd0);
3444 #if defined(__cplusplus) && !defined(CINTERFACE)
3445 struct IDragSourceHelper
: public IUnknown
3447 virtual HRESULT STDMETHODCALLTYPE
InitializeFromBitmap(
3448 LPSHDRAGIMAGE pshdi
,
3449 IDataObject
* pDataObject
) = 0;
3451 virtual HRESULT STDMETHODCALLTYPE
InitializeFromWindow(
3454 IDataObject
* pDataObject
) = 0;
3458 typedef struct IDragSourceHelperVtbl IDragSourceHelperVtbl
;
3459 struct IDragSourceHelper
{
3460 const IDragSourceHelperVtbl
* lpVtbl
;
3462 struct IDragSourceHelperVtbl
{
3465 /*** IUnknown methods ***/
3466 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3467 IDragSourceHelper
* This
,
3471 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3472 IDragSourceHelper
* This
);
3474 ULONG (STDMETHODCALLTYPE
*Release
)(
3475 IDragSourceHelper
* This
);
3477 /*** IDragSourceHelper methods ***/
3478 HRESULT (STDMETHODCALLTYPE
*InitializeFromBitmap
)(
3479 IDragSourceHelper
* This
,
3480 LPSHDRAGIMAGE pshdi
,
3481 IDataObject
* pDataObject
);
3483 HRESULT (STDMETHODCALLTYPE
*InitializeFromWindow
)(
3484 IDragSourceHelper
* This
,
3487 IDataObject
* pDataObject
);
3493 /*** IUnknown methods ***/
3494 #define IDragSourceHelper_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3495 #define IDragSourceHelper_AddRef(p) (p)->lpVtbl->AddRef(p)
3496 #define IDragSourceHelper_Release(p) (p)->lpVtbl->Release(p)
3497 /*** IDragSourceHelper methods ***/
3498 #define IDragSourceHelper_InitializeFromBitmap(p,a,b) (p)->lpVtbl->InitializeFromBitmap(p,a,b)
3499 #define IDragSourceHelper_InitializeFromWindow(p,a,b,c) (p)->lpVtbl->InitializeFromWindow(p,a,b,c)
3504 #define IDragSourceHelper_METHODS \
3505 /*** IUnknown methods ***/ \
3506 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3507 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3508 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3509 /*** IDragSourceHelper methods ***/ \
3510 STDMETHOD_(HRESULT,InitializeFromBitmap)(THIS_ LPSHDRAGIMAGE pshdi, IDataObject* pDataObject) PURE; \
3511 STDMETHOD_(HRESULT,InitializeFromWindow)(THIS_ HWND hwnd, POINT* ppt, IDataObject* pDataObject) PURE;
3513 HRESULT CALLBACK
IDragSourceHelper_InitializeFromBitmap_Proxy(
3514 IDragSourceHelper
* This
,
3515 LPSHDRAGIMAGE pshdi
,
3516 IDataObject
* pDataObject
);
3517 void __RPC_STUB
IDragSourceHelper_InitializeFromBitmap_Stub(
3518 struct IRpcStubBuffer
* This
,
3519 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3520 PRPC_MESSAGE pRpcMessage
,
3521 DWORD
* pdwStubPhase
);
3522 HRESULT CALLBACK
IDragSourceHelper_InitializeFromWindow_Proxy(
3523 IDragSourceHelper
* This
,
3526 IDataObject
* pDataObject
);
3527 void __RPC_STUB
IDragSourceHelper_InitializeFromWindow_Stub(
3528 struct IRpcStubBuffer
* This
,
3529 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3530 PRPC_MESSAGE pRpcMessage
,
3531 DWORD
* pdwStubPhase
);
3533 #endif /* __IDragSourceHelper_INTERFACE_DEFINED__ */
3535 #ifndef __IDropTargetHelper_FWD_DEFINED__
3536 #define __IDropTargetHelper_FWD_DEFINED__
3537 typedef struct IDropTargetHelper IDropTargetHelper
;
3540 /*****************************************************************************
3541 * IDropTargetHelper interface
3543 #ifndef __IDropTargetHelper_INTERFACE_DEFINED__
3544 #define __IDropTargetHelper_INTERFACE_DEFINED__
3546 DEFINE_GUID(IID_IDropTargetHelper
, 0x4657278b, 0x411b, 0x11d2, 0x83,0x9a, 0x00,0xc0,0x4f,0xd9,0x18,0xd0);
3547 #if defined(__cplusplus) && !defined(CINTERFACE)
3548 struct IDropTargetHelper
: public IUnknown
3550 virtual HRESULT STDMETHODCALLTYPE
DragEnter(
3552 IDataObject
* pDataObject
,
3554 DWORD dwEffect
) = 0;
3556 virtual HRESULT STDMETHODCALLTYPE
DragLeave(
3559 virtual HRESULT STDMETHODCALLTYPE
DragOver(
3561 DWORD dwEffect
) = 0;
3563 virtual HRESULT STDMETHODCALLTYPE
Drop(
3564 IDataObject
* pDataObject
,
3566 DWORD dwEffect
) = 0;
3568 virtual HRESULT STDMETHODCALLTYPE
Show(
3573 typedef struct IDropTargetHelperVtbl IDropTargetHelperVtbl
;
3574 struct IDropTargetHelper
{
3575 const IDropTargetHelperVtbl
* lpVtbl
;
3577 struct IDropTargetHelperVtbl
{
3580 /*** IUnknown methods ***/
3581 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3582 IDropTargetHelper
* This
,
3586 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3587 IDropTargetHelper
* This
);
3589 ULONG (STDMETHODCALLTYPE
*Release
)(
3590 IDropTargetHelper
* This
);
3592 /*** IDropTargetHelper methods ***/
3593 HRESULT (STDMETHODCALLTYPE
*DragEnter
)(
3594 IDropTargetHelper
* This
,
3596 IDataObject
* pDataObject
,
3600 HRESULT (STDMETHODCALLTYPE
*DragLeave
)(
3601 IDropTargetHelper
* This
);
3603 HRESULT (STDMETHODCALLTYPE
*DragOver
)(
3604 IDropTargetHelper
* This
,
3608 HRESULT (STDMETHODCALLTYPE
*Drop
)(
3609 IDropTargetHelper
* This
,
3610 IDataObject
* pDataObject
,
3614 HRESULT (STDMETHODCALLTYPE
*Show
)(
3615 IDropTargetHelper
* This
,
3622 /*** IUnknown methods ***/
3623 #define IDropTargetHelper_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3624 #define IDropTargetHelper_AddRef(p) (p)->lpVtbl->AddRef(p)
3625 #define IDropTargetHelper_Release(p) (p)->lpVtbl->Release(p)
3626 /*** IDropTargetHelper methods ***/
3627 #define IDropTargetHelper_DragEnter(p,a,b,c,d) (p)->lpVtbl->DragEnter(p,a,b,c,d)
3628 #define IDropTargetHelper_DragLeave(p) (p)->lpVtbl->DragLeave(p)
3629 #define IDropTargetHelper_DragOver(p,a,b) (p)->lpVtbl->DragOver(p,a,b)
3630 #define IDropTargetHelper_Drop(p,a,b,c) (p)->lpVtbl->Drop(p,a,b,c)
3631 #define IDropTargetHelper_Show(p,a) (p)->lpVtbl->Show(p,a)
3636 #define IDropTargetHelper_METHODS \
3637 /*** IUnknown methods ***/ \
3638 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3639 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3640 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3641 /*** IDropTargetHelper methods ***/ \
3642 STDMETHOD_(HRESULT,DragEnter)(THIS_ HWND hwndTarget, IDataObject* pDataObject, POINT* ppt, DWORD dwEffect) PURE; \
3643 STDMETHOD_(HRESULT,DragLeave)(THIS) PURE; \
3644 STDMETHOD_(HRESULT,DragOver)(THIS_ POINT* ppt, DWORD dwEffect) PURE; \
3645 STDMETHOD_(HRESULT,Drop)(THIS_ IDataObject* pDataObject, POINT* ppt, DWORD dwEffect) PURE; \
3646 STDMETHOD_(HRESULT,Show)(THIS_ BOOL fShow) PURE;
3648 HRESULT CALLBACK
IDropTargetHelper_DragEnter_Proxy(
3649 IDropTargetHelper
* This
,
3651 IDataObject
* pDataObject
,
3654 void __RPC_STUB
IDropTargetHelper_DragEnter_Stub(
3655 struct IRpcStubBuffer
* This
,
3656 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3657 PRPC_MESSAGE pRpcMessage
,
3658 DWORD
* pdwStubPhase
);
3659 HRESULT CALLBACK
IDropTargetHelper_DragLeave_Proxy(
3660 IDropTargetHelper
* This
);
3661 void __RPC_STUB
IDropTargetHelper_DragLeave_Stub(
3662 struct IRpcStubBuffer
* This
,
3663 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3664 PRPC_MESSAGE pRpcMessage
,
3665 DWORD
* pdwStubPhase
);
3666 HRESULT CALLBACK
IDropTargetHelper_DragOver_Proxy(
3667 IDropTargetHelper
* This
,
3670 void __RPC_STUB
IDropTargetHelper_DragOver_Stub(
3671 struct IRpcStubBuffer
* This
,
3672 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3673 PRPC_MESSAGE pRpcMessage
,
3674 DWORD
* pdwStubPhase
);
3675 HRESULT CALLBACK
IDropTargetHelper_Drop_Proxy(
3676 IDropTargetHelper
* This
,
3677 IDataObject
* pDataObject
,
3680 void __RPC_STUB
IDropTargetHelper_Drop_Stub(
3681 struct IRpcStubBuffer
* This
,
3682 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3683 PRPC_MESSAGE pRpcMessage
,
3684 DWORD
* pdwStubPhase
);
3685 HRESULT CALLBACK
IDropTargetHelper_Show_Proxy(
3686 IDropTargetHelper
* This
,
3688 void __RPC_STUB
IDropTargetHelper_Show_Stub(
3689 struct IRpcStubBuffer
* This
,
3690 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3691 PRPC_MESSAGE pRpcMessage
,
3692 DWORD
* pdwStubPhase
);
3694 #endif /* __IDropTargetHelper_INTERFACE_DEFINED__ */
3696 #ifndef __IContextMenu_FWD_DEFINED__
3697 #define __IContextMenu_FWD_DEFINED__
3698 typedef struct IContextMenu IContextMenu
;
3701 #define CMF_NORMAL 0x00000000
3702 #define CMF_DEFAULTONLY 0x00000001
3703 #define CMF_VERBSONLY 0x00000002
3704 #define CMF_EXPLORE 0x00000004
3705 #define CMF_NOVERBS 0x00000008
3706 #define CMF_CANRENAME 0x00000010
3707 #define CMF_NODEFAULT 0x00000020
3708 #define CMF_INCLUDESTATIC 0x00000040
3709 #define CMF_EXTENDEDVERBS 0x00000100
3710 #define CMF_RESERVED 0xffff0000
3711 #define GCS_VERBA 0x00000000
3712 #define GCS_HELPTEXTA 0x00000001
3713 #define GCS_VALIDATEA 0x00000002
3714 #define GCS_VERBW 0x00000004
3715 #define GCS_HELPTEXTW 0x00000005
3716 #define GCS_VALIDATEW 0x00000006
3717 #define GCS_UNICODE 0x00000004
3718 #define GCS_VERB WINELIB_NAME_AW(GCS_VERB)
3719 #define GCS_HELPTEXT WINELIB_NAME_AW(GCS_HELPTEXT)
3720 #define GCS_VALIDATE WINELIB_NAME_AW(GCS_VALIDATE)
3721 #define CMDSTR_NEWFOLDERA "NewFolder"
3722 #define CMDSTR_VIEWLISTA "ViewList"
3723 #define CMDSTR_VIEWDETAILSA "ViewDetails"
3724 #if defined(__GNUC__)
3725 # define CMDSTR_NEWFOLDERW (const WCHAR []){ 'N','e','w','F','o','l','d','e','r',0 }
3726 # define CMDSTR_VIEWLISTW (const WCHAR []){ 'V','i','e','w','L','i','s','t',0 }
3727 # define CMDSTR_VIEWDETAILSW (const WCHAR []){ 'V','i','e','w','D','e','t','a','i','l','s',0 }
3728 #elif defined(_MSC_VER)
3729 # define CMDSTR_NEWFOLDERW L"NewFolder"
3730 # define CMDSTR_VIEWLISTW L"ViewList"
3731 # define CMDSTR_VIEWDETAILSW L"ViewDetails"
3733 static const WCHAR CMDSTR_NEWFOLDERW
[] = {'N','e','w','F','o','l','d','e','r',0};
3734 static const WCHAR CMDSTR_VIEWLISTW
[] = {'V','i','e','w','L','i','s','t',0};
3735 static const WCHAR CMDSTR_VIEWDETAILSW
[] = {'V','i','e','w','D','e','t','a','i','l','s',0};
3737 #define CMDSTR_NEWFOLDER WINELIB_NAME_AW(CMDSTR_NEWFOLDER)
3738 #define CMDSTR_VIEWLIST WINELIB_NAME_AW(CMDSTR_VIEWLIST)
3739 #define CMDSTR_VIEWDETAILS WINELIB_NAME_AW(CMDSTR_VIEWDETAILS)
3740 #define CMIC_MASK_HOTKEY SEE_MASK_HOTKEY
3741 #define CMIC_MASK_ICON SEE_MASK_ICON
3742 #define CMIC_MASK_FLAG_NO_UI SEE_MASK_FLAG_NO_UI
3743 #define CMIC_MASK_UNICODE SEE_MASK_UNICODE
3744 #define CMIC_MASK_NO_CONSOLE SEE_MASK_NO_CONSOLE
3745 #define CMIC_MASK_HASLINKNAME SEE_MASK_HASLINKNAME
3746 #define CMIC_MASK_FLAG_SEP_VDM SEE_MASK_FLAG_SEPVDM
3747 #define CMIC_MASK_HASTITLE SEE_MASK_HASTITLE
3748 #define CMIC_MASK_ASYNCOK SEE_MASK_ASYNCOK
3749 #define CMIC_MASK_SHIFT_DOWN 0x10000000
3750 #define CMIC_MASK_PTINVOKE 0x20000000
3751 #define CMIC_MASK_CONTROL_DOWN 0x40000000
3752 #define CMIC_MASK_FLAG_LOG_USAGE SEE_MASK_FLAG_LOG_USAGE
3753 #define CMIC_MASK_NOZONECHECKS SEE_MASK_NOZONECHECKS
3754 typedef IContextMenu
*LPCONTEXTMENU
;
3756 typedef struct tagCMINVOKECOMMANDINFO
{
3761 LPCSTR lpParameters
;
3766 } CMINVOKECOMMANDINFO
, *LPCMINVOKECOMMANDINFO
;
3768 typedef struct tagCMInvokeCommandInfoEx
{
3773 LPCSTR lpParameters
;
3780 LPCWSTR lpParametersW
;
3781 LPCWSTR lpDirectoryW
;
3784 } CMINVOKECOMMANDINFOEX
, *LPCMINVOKECOMMANDINFOEX
;
3786 /*****************************************************************************
3787 * IContextMenu interface
3789 #ifndef __IContextMenu_INTERFACE_DEFINED__
3790 #define __IContextMenu_INTERFACE_DEFINED__
3792 DEFINE_GUID(IID_IContextMenu
, 0x000214e4, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3793 #if defined(__cplusplus) && !defined(CINTERFACE)
3794 struct IContextMenu
: public IUnknown
3796 virtual HRESULT STDMETHODCALLTYPE
QueryContextMenu(
3803 virtual HRESULT STDMETHODCALLTYPE
InvokeCommand(
3804 LPCMINVOKECOMMANDINFO lpici
) = 0;
3806 virtual HRESULT STDMETHODCALLTYPE
GetCommandString(
3815 typedef struct IContextMenuVtbl IContextMenuVtbl
;
3816 struct IContextMenu
{
3817 const IContextMenuVtbl
* lpVtbl
;
3819 struct IContextMenuVtbl
{
3822 /*** IUnknown methods ***/
3823 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3828 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3829 IContextMenu
* This
);
3831 ULONG (STDMETHODCALLTYPE
*Release
)(
3832 IContextMenu
* This
);
3834 /*** IContextMenu methods ***/
3835 HRESULT (STDMETHODCALLTYPE
*QueryContextMenu
)(
3843 HRESULT (STDMETHODCALLTYPE
*InvokeCommand
)(
3845 LPCMINVOKECOMMANDINFO lpici
);
3847 HRESULT (STDMETHODCALLTYPE
*GetCommandString
)(
3859 /*** IUnknown methods ***/
3860 #define IContextMenu_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3861 #define IContextMenu_AddRef(p) (p)->lpVtbl->AddRef(p)
3862 #define IContextMenu_Release(p) (p)->lpVtbl->Release(p)
3863 /*** IContextMenu methods ***/
3864 #define IContextMenu_QueryContextMenu(p,a,b,c,d,e) (p)->lpVtbl->QueryContextMenu(p,a,b,c,d,e)
3865 #define IContextMenu_InvokeCommand(p,a) (p)->lpVtbl->InvokeCommand(p,a)
3866 #define IContextMenu_GetCommandString(p,a,b,c,d,e) (p)->lpVtbl->GetCommandString(p,a,b,c,d,e)
3871 #define IContextMenu_METHODS \
3872 /*** IUnknown methods ***/ \
3873 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
3874 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
3875 STDMETHOD_(ULONG,Release)(THIS) PURE; \
3876 /*** IContextMenu methods ***/ \
3877 STDMETHOD_(HRESULT,QueryContextMenu)(THIS_ HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) PURE; \
3878 STDMETHOD_(HRESULT,InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO lpici) PURE; \
3879 STDMETHOD_(HRESULT,GetCommandString)(THIS_ UINT idCmd, UINT uType, UINT* pwReserved, LPSTR pszName, UINT cchMax) PURE;
3881 HRESULT CALLBACK
IContextMenu_QueryContextMenu_Proxy(
3888 void __RPC_STUB
IContextMenu_QueryContextMenu_Stub(
3889 struct IRpcStubBuffer
* This
,
3890 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3891 PRPC_MESSAGE pRpcMessage
,
3892 DWORD
* pdwStubPhase
);
3893 HRESULT CALLBACK
IContextMenu_InvokeCommand_Proxy(
3895 LPCMINVOKECOMMANDINFO lpici
);
3896 void __RPC_STUB
IContextMenu_InvokeCommand_Stub(
3897 struct IRpcStubBuffer
* This
,
3898 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3899 PRPC_MESSAGE pRpcMessage
,
3900 DWORD
* pdwStubPhase
);
3901 HRESULT CALLBACK
IContextMenu_GetCommandString_Proxy(
3908 void __RPC_STUB
IContextMenu_GetCommandString_Stub(
3909 struct IRpcStubBuffer
* This
,
3910 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
3911 PRPC_MESSAGE pRpcMessage
,
3912 DWORD
* pdwStubPhase
);
3914 #endif /* __IContextMenu_INTERFACE_DEFINED__ */
3916 #ifndef __IContextMenu2_FWD_DEFINED__
3917 #define __IContextMenu2_FWD_DEFINED__
3918 typedef struct IContextMenu2 IContextMenu2
;
3921 typedef IContextMenu2
*LPCONTEXTMENU2
;
3923 /*****************************************************************************
3924 * IContextMenu2 interface
3926 #ifndef __IContextMenu2_INTERFACE_DEFINED__
3927 #define __IContextMenu2_INTERFACE_DEFINED__
3929 DEFINE_GUID(IID_IContextMenu2
, 0x000214f4, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
3930 #if defined(__cplusplus) && !defined(CINTERFACE)
3931 struct IContextMenu2
: public IContextMenu
3933 virtual HRESULT STDMETHODCALLTYPE
HandleMenuMsg(
3940 typedef struct IContextMenu2Vtbl IContextMenu2Vtbl
;
3941 struct IContextMenu2
{
3942 const IContextMenu2Vtbl
* lpVtbl
;
3944 struct IContextMenu2Vtbl
{
3947 /*** IUnknown methods ***/
3948 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
3949 IContextMenu2
* This
,
3953 ULONG (STDMETHODCALLTYPE
*AddRef
)(
3954 IContextMenu2
* This
);
3956 ULONG (STDMETHODCALLTYPE
*Release
)(
3957 IContextMenu2
* This
);
3959 /*** IContextMenu methods ***/
3960 HRESULT (STDMETHODCALLTYPE
*QueryContextMenu
)(
3961 IContextMenu2
* This
,
3968 HRESULT (STDMETHODCALLTYPE
*InvokeCommand
)(
3969 IContextMenu2
* This
,
3970 LPCMINVOKECOMMANDINFO lpici
);
3972 HRESULT (STDMETHODCALLTYPE
*GetCommandString
)(
3973 IContextMenu2
* This
,
3980 /*** IContextMenu2 methods ***/
3981 HRESULT (STDMETHODCALLTYPE
*HandleMenuMsg
)(
3982 IContextMenu2
* This
,
3991 /*** IUnknown methods ***/
3992 #define IContextMenu2_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
3993 #define IContextMenu2_AddRef(p) (p)->lpVtbl->AddRef(p)
3994 #define IContextMenu2_Release(p) (p)->lpVtbl->Release(p)
3995 /*** IContextMenu methods ***/
3996 #define IContextMenu2_QueryContextMenu(p,a,b,c,d,e) (p)->lpVtbl->QueryContextMenu(p,a,b,c,d,e)
3997 #define IContextMenu2_InvokeCommand(p,a) (p)->lpVtbl->InvokeCommand(p,a)
3998 #define IContextMenu2_GetCommandString(p,a,b,c,d,e) (p)->lpVtbl->GetCommandString(p,a,b,c,d,e)
3999 /*** IContextMenu2 methods ***/
4000 #define IContextMenu2_HandleMenuMsg(p,a,b,c) (p)->lpVtbl->HandleMenuMsg(p,a,b,c)
4005 #define IContextMenu2_METHODS \
4006 /*** IUnknown methods ***/ \
4007 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
4008 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
4009 STDMETHOD_(ULONG,Release)(THIS) PURE; \
4010 /*** IContextMenu methods ***/ \
4011 STDMETHOD_(HRESULT,QueryContextMenu)(THIS_ HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) PURE; \
4012 STDMETHOD_(HRESULT,InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO lpici) PURE; \
4013 STDMETHOD_(HRESULT,GetCommandString)(THIS_ UINT idCmd, UINT uType, UINT* pwReserved, LPSTR pszName, UINT cchMax) PURE; \
4014 /*** IContextMenu2 methods ***/ \
4015 STDMETHOD_(HRESULT,HandleMenuMsg)(THIS_ UINT uMsg, WPARAM wParam, LPARAM lParam) PURE;
4017 HRESULT CALLBACK
IContextMenu2_HandleMenuMsg_Proxy(
4018 IContextMenu2
* This
,
4022 void __RPC_STUB
IContextMenu2_HandleMenuMsg_Stub(
4023 struct IRpcStubBuffer
* This
,
4024 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4025 PRPC_MESSAGE pRpcMessage
,
4026 DWORD
* pdwStubPhase
);
4028 #endif /* __IContextMenu2_INTERFACE_DEFINED__ */
4030 #ifndef __IContextMenu3_FWD_DEFINED__
4031 #define __IContextMenu3_FWD_DEFINED__
4032 typedef struct IContextMenu3 IContextMenu3
;
4035 typedef IContextMenu3
*LPCONTEXTMENU3
;
4037 /*****************************************************************************
4038 * IContextMenu3 interface
4040 #ifndef __IContextMenu3_INTERFACE_DEFINED__
4041 #define __IContextMenu3_INTERFACE_DEFINED__
4043 DEFINE_GUID(IID_IContextMenu3
, 0xbcfce0a0, 0xec17, 0x11d0, 0x8d,0x10, 0x00,0xa0,0xc9,0x0f,0x27,0x19);
4044 #if defined(__cplusplus) && !defined(CINTERFACE)
4045 struct IContextMenu3
: public IContextMenu2
4047 virtual HRESULT STDMETHODCALLTYPE
HandleMenuMsg2(
4051 LRESULT
* plResult
) = 0;
4055 typedef struct IContextMenu3Vtbl IContextMenu3Vtbl
;
4056 struct IContextMenu3
{
4057 const IContextMenu3Vtbl
* lpVtbl
;
4059 struct IContextMenu3Vtbl
{
4062 /*** IUnknown methods ***/
4063 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
4064 IContextMenu3
* This
,
4068 ULONG (STDMETHODCALLTYPE
*AddRef
)(
4069 IContextMenu3
* This
);
4071 ULONG (STDMETHODCALLTYPE
*Release
)(
4072 IContextMenu3
* This
);
4074 /*** IContextMenu methods ***/
4075 HRESULT (STDMETHODCALLTYPE
*QueryContextMenu
)(
4076 IContextMenu3
* This
,
4083 HRESULT (STDMETHODCALLTYPE
*InvokeCommand
)(
4084 IContextMenu3
* This
,
4085 LPCMINVOKECOMMANDINFO lpici
);
4087 HRESULT (STDMETHODCALLTYPE
*GetCommandString
)(
4088 IContextMenu3
* This
,
4095 /*** IContextMenu2 methods ***/
4096 HRESULT (STDMETHODCALLTYPE
*HandleMenuMsg
)(
4097 IContextMenu3
* This
,
4102 /*** IContextMenu3 methods ***/
4103 HRESULT (STDMETHODCALLTYPE
*HandleMenuMsg2
)(
4104 IContextMenu3
* This
,
4114 /*** IUnknown methods ***/
4115 #define IContextMenu3_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4116 #define IContextMenu3_AddRef(p) (p)->lpVtbl->AddRef(p)
4117 #define IContextMenu3_Release(p) (p)->lpVtbl->Release(p)
4118 /*** IContextMenu methods ***/
4119 #define IContextMenu3_QueryContextMenu(p,a,b,c,d,e) (p)->lpVtbl->QueryContextMenu(p,a,b,c,d,e)
4120 #define IContextMenu3_InvokeCommand(p,a) (p)->lpVtbl->InvokeCommand(p,a)
4121 #define IContextMenu3_GetCommandString(p,a,b,c,d,e) (p)->lpVtbl->GetCommandString(p,a,b,c,d,e)
4122 /*** IContextMenu2 methods ***/
4123 #define IContextMenu3_HandleMenuMsg(p,a,b,c) (p)->lpVtbl->HandleMenuMsg(p,a,b,c)
4124 /*** IContextMenu3 methods ***/
4125 #define IContextMenu3_HandleMenuMsg2(p,a,b,c,d) (p)->lpVtbl->HandleMenuMsg2(p,a,b,c,d)
4130 #define IContextMenu3_METHODS \
4131 /*** IUnknown methods ***/ \
4132 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
4133 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
4134 STDMETHOD_(ULONG,Release)(THIS) PURE; \
4135 /*** IContextMenu methods ***/ \
4136 STDMETHOD_(HRESULT,QueryContextMenu)(THIS_ HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) PURE; \
4137 STDMETHOD_(HRESULT,InvokeCommand)(THIS_ LPCMINVOKECOMMANDINFO lpici) PURE; \
4138 STDMETHOD_(HRESULT,GetCommandString)(THIS_ UINT idCmd, UINT uType, UINT* pwReserved, LPSTR pszName, UINT cchMax) PURE; \
4139 /*** IContextMenu2 methods ***/ \
4140 STDMETHOD_(HRESULT,HandleMenuMsg)(THIS_ UINT uMsg, WPARAM wParam, LPARAM lParam) PURE; \
4141 /*** IContextMenu3 methods ***/ \
4142 STDMETHOD_(HRESULT,HandleMenuMsg2)(THIS_ UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT* plResult) PURE;
4144 HRESULT CALLBACK
IContextMenu3_HandleMenuMsg2_Proxy(
4145 IContextMenu3
* This
,
4150 void __RPC_STUB
IContextMenu3_HandleMenuMsg2_Stub(
4151 struct IRpcStubBuffer
* This
,
4152 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4153 PRPC_MESSAGE pRpcMessage
,
4154 DWORD
* pdwStubPhase
);
4156 #endif /* __IContextMenu3_INTERFACE_DEFINED__ */
4158 #ifndef __IShellExecuteHookA_FWD_DEFINED__
4159 #define __IShellExecuteHookA_FWD_DEFINED__
4160 typedef struct IShellExecuteHookA IShellExecuteHookA
;
4163 struct _SHELLEXECUTEINFOA
;
4164 /*****************************************************************************
4165 * IShellExecuteHookA interface
4167 #ifndef __IShellExecuteHookA_INTERFACE_DEFINED__
4168 #define __IShellExecuteHookA_INTERFACE_DEFINED__
4170 DEFINE_GUID(IID_IShellExecuteHookA
, 0x000214f5, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4171 #if defined(__cplusplus) && !defined(CINTERFACE)
4172 struct IShellExecuteHookA
: public IUnknown
4174 virtual HRESULT STDMETHODCALLTYPE
Execute(
4175 struct _SHELLEXECUTEINFOA
* pei
) = 0;
4179 typedef struct IShellExecuteHookAVtbl IShellExecuteHookAVtbl
;
4180 struct IShellExecuteHookA
{
4181 const IShellExecuteHookAVtbl
* lpVtbl
;
4183 struct IShellExecuteHookAVtbl
{
4186 /*** IUnknown methods ***/
4187 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
4188 IShellExecuteHookA
* This
,
4192 ULONG (STDMETHODCALLTYPE
*AddRef
)(
4193 IShellExecuteHookA
* This
);
4195 ULONG (STDMETHODCALLTYPE
*Release
)(
4196 IShellExecuteHookA
* This
);
4198 /*** IShellExecuteHookA methods ***/
4199 HRESULT (STDMETHODCALLTYPE
*Execute
)(
4200 IShellExecuteHookA
* This
,
4201 struct _SHELLEXECUTEINFOA
* pei
);
4207 /*** IUnknown methods ***/
4208 #define IShellExecuteHookA_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4209 #define IShellExecuteHookA_AddRef(p) (p)->lpVtbl->AddRef(p)
4210 #define IShellExecuteHookA_Release(p) (p)->lpVtbl->Release(p)
4211 /*** IShellExecuteHookA methods ***/
4212 #define IShellExecuteHookA_Execute(p,a) (p)->lpVtbl->Execute(p,a)
4217 #define IShellExecuteHookA_METHODS \
4218 /*** IUnknown methods ***/ \
4219 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
4220 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
4221 STDMETHOD_(ULONG,Release)(THIS) PURE; \
4222 /*** IShellExecuteHookA methods ***/ \
4223 STDMETHOD_(HRESULT,Execute)(THIS_ struct _SHELLEXECUTEINFOA* pei) PURE;
4225 HRESULT CALLBACK
IShellExecuteHookA_Execute_Proxy(
4226 IShellExecuteHookA
* This
,
4227 struct _SHELLEXECUTEINFOA
* pei
);
4228 void __RPC_STUB
IShellExecuteHookA_Execute_Stub(
4229 struct IRpcStubBuffer
* This
,
4230 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4231 PRPC_MESSAGE pRpcMessage
,
4232 DWORD
* pdwStubPhase
);
4234 #endif /* __IShellExecuteHookA_INTERFACE_DEFINED__ */
4236 #ifndef __IShellExecuteHookW_FWD_DEFINED__
4237 #define __IShellExecuteHookW_FWD_DEFINED__
4238 typedef struct IShellExecuteHookW IShellExecuteHookW
;
4241 struct _SHELLEXECUTEINFOW
;
4242 /*****************************************************************************
4243 * IShellExecuteHookW interface
4245 #ifndef __IShellExecuteHookW_INTERFACE_DEFINED__
4246 #define __IShellExecuteHookW_INTERFACE_DEFINED__
4248 DEFINE_GUID(IID_IShellExecuteHookW
, 0x000214fb, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
4249 #if defined(__cplusplus) && !defined(CINTERFACE)
4250 struct IShellExecuteHookW
: public IUnknown
4252 virtual HRESULT STDMETHODCALLTYPE
Execute(
4253 struct _SHELLEXECUTEINFOW
* pei
) = 0;
4257 typedef struct IShellExecuteHookWVtbl IShellExecuteHookWVtbl
;
4258 struct IShellExecuteHookW
{
4259 const IShellExecuteHookWVtbl
* lpVtbl
;
4261 struct IShellExecuteHookWVtbl
{
4264 /*** IUnknown methods ***/
4265 HRESULT (STDMETHODCALLTYPE
*QueryInterface
)(
4266 IShellExecuteHookW
* This
,
4270 ULONG (STDMETHODCALLTYPE
*AddRef
)(
4271 IShellExecuteHookW
* This
);
4273 ULONG (STDMETHODCALLTYPE
*Release
)(
4274 IShellExecuteHookW
* This
);
4276 /*** IShellExecuteHookW methods ***/
4277 HRESULT (STDMETHODCALLTYPE
*Execute
)(
4278 IShellExecuteHookW
* This
,
4279 struct _SHELLEXECUTEINFOW
* pei
);
4285 /*** IUnknown methods ***/
4286 #define IShellExecuteHookW_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
4287 #define IShellExecuteHookW_AddRef(p) (p)->lpVtbl->AddRef(p)
4288 #define IShellExecuteHookW_Release(p) (p)->lpVtbl->Release(p)
4289 /*** IShellExecuteHookW methods ***/
4290 #define IShellExecuteHookW_Execute(p,a) (p)->lpVtbl->Execute(p,a)
4295 #define IShellExecuteHookW_METHODS \
4296 /*** IUnknown methods ***/ \
4297 STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
4298 STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
4299 STDMETHOD_(ULONG,Release)(THIS) PURE; \
4300 /*** IShellExecuteHookW methods ***/ \
4301 STDMETHOD_(HRESULT,Execute)(THIS_ struct _SHELLEXECUTEINFOW* pei) PURE;
4303 HRESULT CALLBACK
IShellExecuteHookW_Execute_Proxy(
4304 IShellExecuteHookW
* This
,
4305 struct _SHELLEXECUTEINFOW
* pei
);
4306 void __RPC_STUB
IShellExecuteHookW_Execute_Stub(
4307 struct IRpcStubBuffer
* This
,
4308 struct IRpcChannelBuffer
* pRpcChannelBuffer
,
4309 PRPC_MESSAGE pRpcMessage
,
4310 DWORD
* pdwStubPhase
);
4312 #endif /* __IShellExecuteHookW_INTERFACE_DEFINED__ */
4317 #endif /* __WIDL_SHOBJIDL_H */