Use DrawFrameControl instead of bitmaps in certain cases.
[wine] / dlls / ole32 / ole2stubs.c
1 /*
2  * Temporary place for ole2 stubs.
3  *
4  * Copyright (C) 1999 Corel Corporation
5  * Move these functions to dlls/ole32/ole2impl.c when you implement them.
6  */
7
8 #include "windef.h"
9 #include "winbase.h"
10 #include "wingdi.h"
11 #include "winuser.h"
12 #include "ole2.h"
13 #include "debugtools.h"
14
15 DEFAULT_DEBUG_CHANNEL(ole);
16
17 /******************************************************************************
18  *               OleCreateLinkToFile        [OLE32.96]
19  */
20 HRESULT WINAPI  OleCreateLinkToFile(LPCOLESTR lpszFileName, REFIID riid,
21                         DWORD renderopt, LPFORMATETC lpFormatEtc,
22                         LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID* ppvObj)
23 {
24     FIXME("(%p,%p,%li,%p,%p,%p,%p), stub!\n",lpszFileName, riid, renderopt, lpFormatEtc, pClientSite, pStg, ppvObj);
25     return S_OK;
26 }
27
28
29 /******************************************************************************
30  *              OleDuplicateData        [OLE32.102]
31  */
32 HRESULT WINAPI OleDuplicateData(HANDLE hSrc, CLIPFORMAT cfFormat,
33                                   UINT uiFlags)
34 {
35     FIXME("(%x,%x,%x), stub!\n", hSrc, cfFormat, uiFlags);
36     return S_OK;
37 }
38
39  
40 /***********************************************************************
41  *               WriteFmtUserTypeStg (OLE32.160)
42  */
43 HRESULT WINAPI WriteFmtUserTypeStg(
44           LPSTORAGE pstg, CLIPFORMAT cf, LPOLESTR lpszUserType)
45 {
46     FIXME("(%p,%x,%s) stub!\n",pstg,cf,debugstr_w(lpszUserType));
47     return S_OK;
48 }
49
50 /***********************************************************************
51  *             OleTranslateAccelerator [OLE32.130]
52  */
53 HRESULT WINAPI OleTranslateAccelerator (LPOLEINPLACEFRAME lpFrame,
54                    LPOLEINPLACEFRAMEINFO lpFrameInfo, LPMSG lpmsg)
55 {
56     FIXME("(%p,%p,%p),stub!\n", lpFrame, lpFrameInfo, lpmsg);
57     return S_OK;
58 }
59
60 /******************************************************************************
61  *              SetConvertStg        [OLE32.142]
62  */
63 HRESULT WINAPI SetConvertStg(LPSTORAGE pStg, BOOL fConvert)
64 {
65   FIXME("(%p,%x), stub!\n", pStg, fConvert);
66   return S_OK;
67 }
68
69 /******************************************************************************
70  *              OleCreate        [OLE32.89]
71  *
72  */
73 HRESULT WINAPI OleCreate(
74         REFCLSID rclsid,
75         REFIID riid,
76         DWORD renderopt,
77         LPFORMATETC pFormatEtc,
78         LPOLECLIENTSITE pClientSite,
79         LPSTORAGE pStg,
80         LPVOID* ppvObj)
81 {
82   HRESULT hres, hres1;
83   IUnknown * pUnk = NULL;
84     
85   FIXME("\n\t%s\n\t%s stub!\n", debugstr_guid(rclsid), debugstr_guid(riid));
86
87   if (SUCCEEDED((hres = CoCreateInstance(rclsid, 0, CLSCTX_INPROC_SERVER, riid, (LPVOID*)&pUnk))))
88   {
89     if (pClientSite)
90     {
91       IOleObject * pOE;
92       IPersistStorage * pPS;
93       if (SUCCEEDED((hres = IUnknown_QueryInterface( pUnk, &IID_IOleObject, (LPVOID*)&pOE))))
94       {
95         TRACE("trying to set clientsite %p\n", pClientSite);
96         hres1 = IOleObject_SetClientSite(pOE, pClientSite);
97         TRACE("-- result 0x%08lx\n", hres1);
98         IOleObject_Release(pOE);
99       }
100       if (SUCCEEDED((hres = IUnknown_QueryInterface( pUnk, &IID_IPersistStorage, (LPVOID*)&pPS))))
101       {
102         TRACE("trying to set stg %p\n", pStg);
103         hres1 = IPersistStorage_InitNew(pPS, pStg);
104         TRACE("-- result 0x%08lx\n", hres1);
105         IPersistStorage_Release(pPS);
106       }
107     }
108   }
109
110   *ppvObj = pUnk;
111
112   TRACE("-- %p \n", pUnk);
113   return hres;
114 }
115
116 /******************************************************************************
117  *              OleCreateLink        [OLE32.94]
118  */
119 HRESULT WINAPI OleCreateLink(LPMONIKER pmkLinkSrc, REFIID riid, DWORD renderopt, LPFORMATETC lpFormatEtc,
120                 LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID* ppvObj)
121 {
122   FIXME("(not shown), stub!\n");
123   return S_OK;
124 }
125
126 /******************************************************************************
127  *              OleCreateFromFile        [OLE32.93]
128  */
129 HRESULT WINAPI OleCreateFromFile(REFCLSID rclsid, LPCOLESTR lpszFileName, REFIID riid,
130             DWORD renderopt, LPFORMATETC lpFormatEtc, LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID* ppvObj)
131 {
132   FIXME("(not shown), stub!\n");
133   return S_OK;
134 }
135
136
137 /******************************************************************************
138  *              OleGetIconOfClass        [OLE32.106]
139  */
140 HGLOBAL WINAPI OleGetIconOfClass(REFCLSID rclsid, LPOLESTR lpszLabel, BOOL fUseTypeAsLabel)
141 {
142   FIXME("(%p,%p,%x), stub!\n", rclsid, lpszLabel, fUseTypeAsLabel);
143   return S_OK;
144 }
145
146 /******************************************************************************
147  *              ReadFmtUserTypeStg        [OLE32.136]
148  */
149 HRESULT WINAPI ReadFmtUserTypeStg (LPSTORAGE pstg, CLIPFORMAT* pcf, LPOLESTR* lplpszUserType)
150 {
151   FIXME("(%p,%p,%p), stub!\n", pstg, pcf, lplpszUserType);
152   return S_OK;
153 }
154
155 /******************************************************************************
156  *              OleCreateStaticFromData        [OLE32.98]
157  */
158 HRESULT     WINAPI OleCreateStaticFromData(LPDATAOBJECT pSrcDataObj, REFIID iid,
159                 DWORD renderopt, LPFORMATETC pFormatEtc, LPOLECLIENTSITE pClientSite,
160                 LPSTORAGE pStg, LPVOID* ppvObj)
161 {
162   FIXME("(not shown), stub!\n");
163   return S_OK;
164 }
165
166 /******************************************************************************
167  *              OleCreateLinkFromData        [OLE32.95]
168  */
169
170 HRESULT WINAPI  OleCreateLinkFromData(LPDATAOBJECT pSrcDataObj, REFIID riid,
171                 DWORD renderopt, LPFORMATETC pFormatEtc,
172                 LPOLECLIENTSITE pClientSite, LPSTORAGE pStg,
173                 LPVOID* ppvObj)
174 {
175   FIXME("(not shown), stub!\n");
176   return S_OK;
177 }
178
179 /******************************************************************************
180  *              OleIsRunning        [OLE32.111]
181  */
182 BOOL WINAPI OleIsRunning(LPOLEOBJECT pObject)
183 {
184   FIXME("(%p), stub!\n", pObject);
185   return TRUE;
186 }
187
188 /***********************************************************************
189  *           OleRegEnumVerbs    [OLE32.120]
190  */
191 HRESULT WINAPI OleRegEnumVerbs (REFCLSID clsid, LPENUMOLEVERB* ppenum)
192 {
193     FIXME("(%p,%p), stub!\n", clsid, ppenum);
194     return OLEOBJ_E_NOVERBS;
195 }
196
197 /***********************************************************************
198  *           OleRegEnumFormatEtc    [OLE32.119]
199  */
200 HRESULT     WINAPI OleRegEnumFormatEtc (
201   REFCLSID clsid, 
202   DWORD    dwDirection,
203   LPENUMFORMATETC* ppenumFormatetc)
204 {
205     FIXME("(%p, %ld, %p), stub!\n", clsid, dwDirection, ppenumFormatetc);
206
207     return S_OK;
208 }
209
210 /***********************************************************************
211  *           PropVariantClear                       [OLE32.166]
212  */
213 HRESULT WINAPI PropVariantClear(void *pvar) /* [in/out] FIXME: PROPVARIANT * */
214 {
215         FIXME("(%p): stub:\n", pvar);
216
217         *(LPWORD)pvar = 0;
218         /* sets at least the vt field to VT_EMPTY */
219         return S_OK;
220 }
221
222 /***********************************************************************
223  *           PropVariantCopy                        [OLE32.246]
224  */
225 HRESULT WINAPI PropVariantCopy(void *pvarDest,      /* [out] FIXME: PROPVARIANT * */
226                                const void *pvarSrc) /* [in] FIXME: const PROPVARIANT * */
227 {
228         FIXME("(%p, %p): stub:\n", pvarDest, pvarSrc);
229
230         return S_OK;
231 }
232
233 /***********************************************************************
234  *           FreePropVariantArray                           [OLE32.195]
235  */
236 HRESULT WINAPI FreePropVariantArray(ULONG cVariants, /* [in] */
237                                     void *rgvars)    /* [in/out] FIXME: PROPVARIANT * */
238 {
239         FIXME("(%lu, %p): stub:\n", cVariants, rgvars);
240
241         return S_OK;
242 }
243
244 /***********************************************************************
245  *           CoIsOle1Class                              [OLE32.29]
246  */
247 BOOL WINAPI CoIsOle1Class(REFCLSID clsid)
248 {
249   FIXME("%s\n", debugstr_guid(clsid));
250   return FALSE;
251 }