1 /**
2  * This file has no copyright assigned and is placed in the Public Domain.
3  * This file is part of the mingw-w64 runtime package.
4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5  */
6 #include "rpc.h"
7 #include "rpcndr.h"
8 #ifndef COM_NO_WINDOWS_H
9 #include "windows.h"
10 #include "ole2.h"
11 #endif
12 
13 #ifndef __datapath_h__
14 #define __datapath_h__
15 
16 #ifdef __cplusplus
17 extern "C"{
18 #endif
19 
20 #ifndef __IObjectWithSite_FWD_DEFINED__
21 #define __IObjectWithSite_FWD_DEFINED__
22   typedef struct IObjectWithSite IObjectWithSite;
23 #endif
24 
25 #ifndef __IDataPathBrowser_FWD_DEFINED__
26 #define __IDataPathBrowser_FWD_DEFINED__
27   typedef struct IDataPathBrowser IDataPathBrowser;
28 #endif
29 
30 #ifndef __IProvideClassInfo3_FWD_DEFINED__
31 #define __IProvideClassInfo3_FWD_DEFINED__
32   typedef struct IProvideClassInfo3 IProvideClassInfo3;
33 #endif
34 
35 #include "objidl.h"
36 #include "oleidl.h"
37 #include "oaidl.h"
38 #include "olectl.h"
39 #include "urlmon.h"
40 
41 #ifndef __MIDL_user_allocate_free_DEFINED__
42 #define __MIDL_user_allocate_free_DEFINED__
43   void *__RPC_API MIDL_user_allocate(size_t);
44   void __RPC_API MIDL_user_free(void *);
45 #endif
46 
47 #include "idispids.h"
48   typedef BSTR OLE_DATAPATH;
49 #define SID_SDataPathBrowser IID_IDataPathBrowser
50 
51   EXTERN_C const GUID OLE_DATAPATH_BMP;
52   EXTERN_C const GUID OLE_DATAPATH_DIB;
53   EXTERN_C const GUID OLE_DATAPATH_WMF;
54   EXTERN_C const GUID OLE_DATAPATH_ENHMF;
55   EXTERN_C const GUID OLE_DATAPATH_GIF;
56   EXTERN_C const GUID OLE_DATAPATH_JPEG;
57   EXTERN_C const GUID OLE_DATAPATH_TIFF;
58   EXTERN_C const GUID OLE_DATAPATH_XBM;
59   EXTERN_C const GUID OLE_DATAPATH_PCX;
60   EXTERN_C const GUID OLE_DATAPATH_PICT;
61   EXTERN_C const GUID OLE_DATAPATH_CGM;
62   EXTERN_C const GUID OLE_DATAPATH_EPS;
63   EXTERN_C const GUID OLE_DATAPATH_COMMONIMAGE;
64   EXTERN_C const GUID OLE_DATAPATH_ALLIMAGE;
65   EXTERN_C const GUID OLE_DATAPATH_AVI;
66   EXTERN_C const GUID OLE_DATAPATH_MPEG;
67   EXTERN_C const GUID OLE_DATAPATH_QUICKTIME;
68   EXTERN_C const GUID OLE_DATAPATH_BASICAUDIO;
69   EXTERN_C const GUID OLE_DATAPATH_MIDI;
70   EXTERN_C const GUID OLE_DATAPATH_WAV;
71   EXTERN_C const GUID OLE_DATAPATH_RIFF;
72   EXTERN_C const GUID OLE_DATAPATH_SOUND;
73   EXTERN_C const GUID OLE_DATAPATH_VIDEO;
74   EXTERN_C const GUID OLE_DATAPATH_ALLMM;
75   EXTERN_C const GUID OLE_DATAPATH_ANSITEXT;
76   EXTERN_C const GUID OLE_DATAPATH_UNICODE;
77   EXTERN_C const GUID OLE_DATAPATH_RTF;
78   EXTERN_C const GUID OLE_DATAPATH_HTML;
79   EXTERN_C const GUID OLE_DATAPATH_POSTSCRIPT;
80   EXTERN_C const GUID OLE_DATAPATH_ALLTEXT;
81   EXTERN_C const GUID OLE_DATAPATH_DIF;
82   EXTERN_C const GUID OLE_DATAPATH_SYLK;
83   EXTERN_C const GUID OLE_DATAPATH_BIFF;
84   EXTERN_C const GUID OLE_DATAPATH_PALETTE;
85   EXTERN_C const GUID OLE_DATAPATH_PENDATA;
86   EXTERN_C const GUID FLAGID_Internet;
87   EXTERN_C const GUID GUID_PathProperty;
88   EXTERN_C const GUID GUID_HasPathProperties;
89   EXTERN_C const GUID ARRAYID_PathProperties;
90 
91 #ifndef _LPOBJECTWITHSITE_DEFINED
92 #define _LPOBJECTWITHSITE_DEFINED
93   extern RPC_IF_HANDLE __MIDL__intf_0000_v0_0_c_ifspec;
94   extern RPC_IF_HANDLE __MIDL__intf_0000_v0_0_s_ifspec;
95 #ifndef __IObjectWithSite_INTERFACE_DEFINED__
96 #define __IObjectWithSite_INTERFACE_DEFINED__
97   typedef IObjectWithSite *LPOBJECTWITHSITE;
98   EXTERN_C const IID IID_IObjectWithSite;
99 #if defined(__cplusplus) && !defined(CINTERFACE)
100   struct IObjectWithSite : public IUnknown {
101 public:
102   virtual HRESULT WINAPI SetSite(IUnknown *pUnkSite) = 0;
103   virtual HRESULT WINAPI GetSite(REFIID riid,void **ppvSite) = 0;
104   };
105 #else
106   typedef struct IObjectWithSiteVtbl {
107     BEGIN_INTERFACE
108       HRESULT (WINAPI *QueryInterface)(IObjectWithSite *This,REFIID riid,void **ppvObject);
109       ULONG (WINAPI *AddRef)(IObjectWithSite *This);
110       ULONG (WINAPI *Release)(IObjectWithSite *This);
111       HRESULT (WINAPI *SetSite)(IObjectWithSite *This,IUnknown *pUnkSite);
112       HRESULT (WINAPI *GetSite)(IObjectWithSite *This,REFIID riid,void **ppvSite);
113     END_INTERFACE
114   } IObjectWithSiteVtbl;
115   struct IObjectWithSite {
116     CONST_VTBL struct IObjectWithSiteVtbl *lpVtbl;
117   };
118 #ifdef COBJMACROS
119 #define IObjectWithSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
120 #define IObjectWithSite_AddRef(This) (This)->lpVtbl->AddRef(This)
121 #define IObjectWithSite_Release(This) (This)->lpVtbl->Release(This)
122 #define IObjectWithSite_SetSite(This,pUnkSite) (This)->lpVtbl->SetSite(This,pUnkSite)
123 #define IObjectWithSite_GetSite(This,riid,ppvSite) (This)->lpVtbl->GetSite(This,riid,ppvSite)
124 #endif
125 #endif
126   HRESULT WINAPI IObjectWithSite_SetSite_Proxy(IObjectWithSite *This,IUnknown *pUnkSite);
127   void __RPC_STUB IObjectWithSite_SetSite_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
128   HRESULT WINAPI IObjectWithSite_GetSite_Proxy(IObjectWithSite *This,REFIID riid,void **ppvSite);
129   void __RPC_STUB IObjectWithSite_GetSite_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
130 #endif
131 #endif
132 
133 #ifndef _LPDATAPATHBROWSER_DEFINED
134 #define _LPDATAPATHBROWSER_DEFINED
135   extern RPC_IF_HANDLE __MIDL__intf_0119_v0_0_c_ifspec;
136   extern RPC_IF_HANDLE __MIDL__intf_0119_v0_0_s_ifspec;
137 #ifndef __IDataPathBrowser_INTERFACE_DEFINED__
138 #define __IDataPathBrowser_INTERFACE_DEFINED__
139   EXTERN_C const IID IID_IDataPathBrowser;
140 #if defined(__cplusplus) && !defined(CINTERFACE)
141   struct IDataPathBrowser : public IUnknown {
142   public:
143     virtual HRESULT WINAPI BrowseType(REFGUID rguidPathType,LPOLESTR pszDefaultPath,ULONG cchPath,LPOLESTR pszPath,HWND hWnd) = 0;
144   };
145 #else
146   typedef struct IDataPathBrowserVtbl {
147     BEGIN_INTERFACE
148       HRESULT (WINAPI *QueryInterface)(IDataPathBrowser *This,REFIID riid,void **ppvObject);
149       ULONG (WINAPI *AddRef)(IDataPathBrowser *This);
150       ULONG (WINAPI *Release)(IDataPathBrowser *This);
151       HRESULT (WINAPI *BrowseType)(IDataPathBrowser *This,REFGUID rguidPathType,LPOLESTR pszDefaultPath,ULONG cchPath,LPOLESTR pszPath,HWND hWnd);
152     END_INTERFACE
153   } IDataPathBrowserVtbl;
154   struct IDataPathBrowser {
155     CONST_VTBL struct IDataPathBrowserVtbl *lpVtbl;
156   };
157 #ifdef COBJMACROS
158 #define IDataPathBrowser_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
159 #define IDataPathBrowser_AddRef(This) (This)->lpVtbl->AddRef(This)
160 #define IDataPathBrowser_Release(This) (This)->lpVtbl->Release(This)
161 #define IDataPathBrowser_BrowseType(This,rguidPathType,pszDefaultPath,cchPath,pszPath,hWnd) (This)->lpVtbl->BrowseType(This,rguidPathType,pszDefaultPath,cchPath,pszPath,hWnd)
162 #endif
163 #endif
164   HRESULT WINAPI IDataPathBrowser_BrowseType_Proxy(IDataPathBrowser *This,REFGUID rguidPathType,LPOLESTR pszDefaultPath,ULONG cchPath,LPOLESTR pszPath,HWND hWnd);
165   void __RPC_STUB IDataPathBrowser_BrowseType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
166 #endif
167 #endif
168 
169 #ifndef _LPPROVIDECLASSINFO3_DEFINED
170 #define _LPPROVIDECLASSINFO3_DEFINED
171   extern RPC_IF_HANDLE __MIDL__intf_0120_v0_0_c_ifspec;
172   extern RPC_IF_HANDLE __MIDL__intf_0120_v0_0_s_ifspec;
173 #ifndef __IProvideClassInfo3_INTERFACE_DEFINED__
174 #define __IProvideClassInfo3_INTERFACE_DEFINED__
175   typedef IProvideClassInfo3 *LPPROVIDECLASSINFO3;
176   enum __MIDL_IProvideClassInfo3_0001
177   { INTERNETFLAG_USESDATAPATHS = 0x1
178   };
179   EXTERN_C const IID IID_IProvideClassInfo3;
180 #if defined(__cplusplus) && !defined(CINTERFACE)
181   struct IProvideClassInfo3 : public IProvideClassInfo2 {
182   public:
183     virtual HRESULT WINAPI GetGUIDDwordArrays(REFGUID rguidArray,CAUUID *pcaUUID,CADWORD *pcadw) = 0;
184     virtual HRESULT WINAPI GetClassInfoLocale(ITypeInfo **ppITypeInfo,LCID lcid) = 0;
185     virtual HRESULT WINAPI GetFlags(REFGUID guidGroup,DWORD *pdwFlags) = 0;
186   };
187 #else
188   typedef struct IProvideClassInfo3Vtbl {
189     BEGIN_INTERFACE
190       HRESULT (WINAPI *QueryInterface)(IProvideClassInfo3 *This,REFIID riid,void **ppvObject);
191       ULONG (WINAPI *AddRef)(IProvideClassInfo3 *This);
192       ULONG (WINAPI *Release)(IProvideClassInfo3 *This);
193       HRESULT (WINAPI *GetClassInfo)(IProvideClassInfo3 *This,ITypeInfo **ppTI);
194       HRESULT (WINAPI *GetGUID)(IProvideClassInfo3 *This,DWORD dwGuidKind,GUID *pGUID);
195       HRESULT (WINAPI *GetGUIDDwordArrays)(IProvideClassInfo3 *This,REFGUID rguidArray,CAUUID *pcaUUID,CADWORD *pcadw);
196       HRESULT (WINAPI *GetClassInfoLocale)(IProvideClassInfo3 *This,ITypeInfo **ppITypeInfo,LCID lcid);
197       HRESULT (WINAPI *GetFlags)(IProvideClassInfo3 *This,REFGUID guidGroup,DWORD *pdwFlags);
198     END_INTERFACE
199   } IProvideClassInfo3Vtbl;
200   struct IProvideClassInfo3 {
201     CONST_VTBL struct IProvideClassInfo3Vtbl *lpVtbl;
202   };
203 #ifdef COBJMACROS
204 #define IProvideClassInfo3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
205 #define IProvideClassInfo3_AddRef(This) (This)->lpVtbl->AddRef(This)
206 #define IProvideClassInfo3_Release(This) (This)->lpVtbl->Release(This)
207 #define IProvideClassInfo3_GetClassInfo(This,ppTI) (This)->lpVtbl->GetClassInfo(This,ppTI)
208 #define IProvideClassInfo3_GetGUID(This,dwGuidKind,pGUID) (This)->lpVtbl->GetGUID(This,dwGuidKind,pGUID)
209 #define IProvideClassInfo3_GetGUIDDwordArrays(This,rguidArray,pcaUUID,pcadw) (This)->lpVtbl->GetGUIDDwordArrays(This,rguidArray,pcaUUID,pcadw)
210 #define IProvideClassInfo3_GetClassInfoLocale(This,ppITypeInfo,lcid) (This)->lpVtbl->GetClassInfoLocale(This,ppITypeInfo,lcid)
211 #define IProvideClassInfo3_GetFlags(This,guidGroup,pdwFlags) (This)->lpVtbl->GetFlags(This,guidGroup,pdwFlags)
212 #endif
213 #endif
214   HRESULT WINAPI IProvideClassInfo3_GetGUIDDwordArrays_Proxy(IProvideClassInfo3 *This,REFGUID rguidArray,CAUUID *pcaUUID,CADWORD *pcadw);
215   void __RPC_STUB IProvideClassInfo3_GetGUIDDwordArrays_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
216   HRESULT WINAPI IProvideClassInfo3_GetClassInfoLocale_Proxy(IProvideClassInfo3 *This,ITypeInfo **ppITypeInfo,LCID lcid);
217   void __RPC_STUB IProvideClassInfo3_GetClassInfoLocale_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
218   HRESULT WINAPI IProvideClassInfo3_GetFlags_Proxy(IProvideClassInfo3 *This,REFGUID guidGroup,DWORD *pdwFlags);
219   void __RPC_STUB IProvideClassInfo3_GetFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
220 #endif
221 #endif
222 
223   extern RPC_IF_HANDLE __MIDL__intf_0121_v0_0_c_ifspec;
224   extern RPC_IF_HANDLE __MIDL__intf_0121_v0_0_s_ifspec;
225 
226 #ifdef __cplusplus
227 }
228 #endif
229 #endif
230