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