Implementation of OleLockRunning function.
[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  *              CoTreatAsClass        [OLE32.46]
62  */
63 HRESULT WINAPI CoTreatAsClass(REFCLSID clsidOld, REFCLSID clsidNew)
64 {
65   FIXME("(%p,%p), stub!\n", clsidOld, clsidNew);
66   return S_OK;
67 }
68
69 /******************************************************************************
70  *              OleSetAutoConvert        [OLE32.@]
71  */
72 HRESULT WINAPI OleSetAutoConvert(REFCLSID clsidOld, REFCLSID clsidNew)
73 {
74     FIXME("(%p,%p), stub!\n", clsidOld, clsidNew);
75     return S_OK;
76 }
77
78 /******************************************************************************
79  *              IsAccelerator        [OLE32.75]
80  */
81 BOOL WINAPI IsAccelerator(HACCEL hAccel, int cAccelEntries, LPMSG lpMsg, WORD* lpwCmd)
82 {
83   FIXME("(%x,%i,%p,%p), stub!\n", hAccel, cAccelEntries, lpMsg, lpwCmd);
84   return TRUE;
85 }
86
87 /******************************************************************************
88  *              SetConvertStg        [OLE32.142]
89  */
90 HRESULT WINAPI SetConvertStg(LPSTORAGE pStg, BOOL fConvert)
91 {
92   FIXME("(%p,%x), stub!\n", pStg, fConvert);
93   return S_OK;
94 }
95
96 /******************************************************************************
97  *              OleCreate        [OLE32.80]
98  *
99  */
100 HRESULT WINAPI OleCreate(
101         REFCLSID rclsid,
102         REFIID riid,
103         DWORD renderopt,
104         LPFORMATETC pFormatEtc,
105         LPOLECLIENTSITE pClientSite,
106         LPSTORAGE pStg,
107         LPVOID* ppvObj)
108 {
109   HRESULT hres, hres1;
110   IUnknown * pUnk = NULL;
111     
112   FIXME("\n\t%s\n\t%s stub!\n", debugstr_guid(rclsid), debugstr_guid(riid));
113
114   if (SUCCEEDED((hres = CoCreateInstance(rclsid, 0, CLSCTX_INPROC_SERVER, riid, (LPVOID*)&pUnk))))
115   {
116     if (pClientSite)
117     {
118       IOleObject * pOE;
119       IPersistStorage * pPS;
120       if (SUCCEEDED((hres = IUnknown_QueryInterface( pUnk, &IID_IOleObject, (LPVOID*)&pOE))))
121       {
122         TRACE("trying to set clientsite %p\n", pClientSite);
123         hres1 = IOleObject_SetClientSite(pOE, pClientSite);
124         TRACE("-- result 0x%08lx\n", hres1);
125         IOleObject_Release(pOE);
126       }
127       if (SUCCEEDED((hres = IUnknown_QueryInterface( pUnk, &IID_IPersistStorage, (LPVOID*)&pPS))))
128       {
129         TRACE("trying to set stg %p\n", pStg);
130         hres1 = IPersistStorage_InitNew(pPS, pStg);
131         TRACE("-- result 0x%08lx\n", hres1);
132         IPersistStorage_Release(pPS);
133       }
134     }
135   }
136
137   *ppvObj = pUnk;
138
139   TRACE("-- %p \n", pUnk);
140   return hres;
141 }
142
143 /******************************************************************************
144  *              OleCreateLink        [OLE32.94]
145  */
146 HRESULT WINAPI OleCreateLink(LPMONIKER pmkLinkSrc, REFIID riid, DWORD renderopt, LPFORMATETC lpFormatEtc,
147                 LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID* ppvObj)
148 {
149   FIXME("(not shown), stub!\n");
150   return S_OK;
151 }
152
153 /******************************************************************************
154  *              OleCreateFromFile        [OLE32.93]
155  */
156 HRESULT WINAPI OleCreateFromFile(REFCLSID rclsid, LPCOLESTR lpszFileName, REFIID riid,
157             DWORD renderopt, LPFORMATETC lpFormatEtc, LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID* ppvObj)
158 {
159   FIXME("(not shown), stub!\n");
160   return S_OK;
161 }
162
163
164 /******************************************************************************
165  *              OleGetIconOfClass        [OLE32.106]
166  */
167 HGLOBAL WINAPI OleGetIconOfClass(REFCLSID rclsid, LPOLESTR lpszLabel, BOOL fUseTypeAsLabel)
168 {
169   FIXME("(%p,%p,%x), stub!\n", rclsid, lpszLabel, fUseTypeAsLabel);
170   return S_OK;
171 }
172
173 /******************************************************************************
174  *              ReadFmtUserTypeStg        [OLE32.136]
175  */
176 HRESULT WINAPI ReadFmtUserTypeStg (LPSTORAGE pstg, CLIPFORMAT* pcf, LPOLESTR* lplpszUserType)
177 {
178   FIXME("(%p,%p,%p), stub!\n", pstg, pcf, lplpszUserType);
179   return S_OK;
180 }
181
182 /******************************************************************************
183  *              OleCreateStaticFromData        [OLE32.98]
184  */
185 HRESULT     WINAPI OleCreateStaticFromData(LPDATAOBJECT pSrcDataObj, REFIID iid,
186                 DWORD renderopt, LPFORMATETC pFormatEtc, LPOLECLIENTSITE pClientSite,
187                 LPSTORAGE pStg, LPVOID* ppvObj)
188 {
189   FIXME("(not shown), stub!\n");
190   return S_OK;
191 }
192
193 /******************************************************************************
194  *              OleCreateLinkFromData        [OLE32.95]
195  */
196
197 HRESULT WINAPI  OleCreateLinkFromData(LPDATAOBJECT pSrcDataObj, REFIID riid,
198                 DWORD renderopt, LPFORMATETC pFormatEtc,
199                 LPOLECLIENTSITE pClientSite, LPSTORAGE pStg,
200                 LPVOID* ppvObj)
201 {
202   FIXME("(not shown), stub!\n");
203   return S_OK;
204 }
205
206 /******************************************************************************
207  *              OleIsRunning        [OLE32.111]
208  */
209 BOOL WINAPI OleIsRunning(LPOLEOBJECT pObject)
210 {
211   FIXME("(%p), stub!\n", pObject);
212   return TRUE;
213 }
214
215 /***********************************************************************
216  *           OleRegEnumVerbs    [OLE32.120]
217  */
218 HRESULT WINAPI OleRegEnumVerbs (REFCLSID clsid, LPENUMOLEVERB* ppenum)
219 {
220     FIXME("(%p,%p), stub!\n", clsid, ppenum);
221     return OLEOBJ_E_NOVERBS;
222 }
223
224 /***********************************************************************
225  *           OleRegEnumFormatEtc    [OLE32.119]
226  */
227 HRESULT     WINAPI OleRegEnumFormatEtc (
228   REFCLSID clsid, 
229   DWORD    dwDirection,
230   LPENUMFORMATETC* ppenumFormatetc)
231 {
232     FIXME("(%p, %ld, %p), stub!\n", clsid, dwDirection, ppenumFormatetc);
233
234     return S_OK;
235 }
236
237 /***********************************************************************
238  *           PropVariantClear                       [OLE32.166]
239  */
240 HRESULT WINAPI PropVariantClear(/*PROPVARIANT* */void* pvar)
241 {
242         FIXME("(%p): stub:\n", pvar);
243
244         *(LPWORD)pvar = 0;
245         /* sets at least the vt field to VT_EMPTY */
246         return S_OK;
247 }
248
249 /***********************************************************************
250  *           PropVariantCopy                        [OLE32.246]
251  */
252 HRESULT WINAPI PropVariantCopy(/*PROPVARIANT* */void* pvarDest,
253                                  /*const PROPVARIANT* */ void* pvarSrc)
254 {
255         FIXME("(%p, %p): stub:\n", pvarDest, pvarSrc);
256
257         return S_OK;
258 }
259
260 /***********************************************************************
261  *           FreePropVariantArray                           [OLE32.195]
262  */
263 HRESULT WINAPI FreePropVariantArray(ULONG cVariants, /*PROPVARIANT* */void* rgvars)
264 {
265         FIXME("(%lu, %p): stub:\n", cVariants, rgvars);
266
267         return S_OK;
268 }
269
270 /***********************************************************************
271  *           CoIsOle1Class                              [OLE32]
272  */
273 BOOL WINAPI CoIsOle1Class(REFCLSID clsid)
274 {
275   FIXME("%s\n", debugstr_guid(clsid));
276   return FALSE;
277 }