Avoid a refcount leak in QueryInterface when delegating.
[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,%p) stub!\n",pstg,cf,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 HRESULT WINAPI OleCreate(REFCLSID rclsid, REFIID riid, DWORD renderopt, LPFORMATETC pFormatEtc, LPOLECLIENTSITE pClientSite,
91                 LPSTORAGE pStg, LPVOID* ppvObj)
92 {
93   FIXME("(not shown), stub!\n");
94   return E_OUTOFMEMORY;
95 }
96
97 /******************************************************************************
98  *              OleCreateLink        [OLE32.94]
99  */
100 HRESULT WINAPI OleCreateLink(LPMONIKER pmkLinkSrc, REFIID riid, DWORD renderopt, LPFORMATETC lpFormatEtc,
101                 LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID* ppvObj)
102 {
103   FIXME("(not shown), stub!\n");
104   return S_OK;
105 }
106
107 /******************************************************************************
108  *              OleCreateFromFile        [OLE32.93]
109  */
110 HRESULT WINAPI OleCreateFromFile(REFCLSID rclsid, LPCOLESTR lpszFileName, REFIID riid,
111             DWORD renderopt, LPFORMATETC lpFormatEtc, LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID* ppvObj)
112 {
113   FIXME("(not shown), stub!\n");
114   return S_OK;
115 }
116
117 /******************************************************************************
118  *              OleLockRunning        [OLE32.114]
119  */
120 HRESULT WINAPI OleLockRunning(LPUNKNOWN pUnknown, BOOL fLock, BOOL fLastUnlockCloses) 
121 {
122   FIXME("(%p,%x,%x), stub!\n", pUnknown, fLock, fLastUnlockCloses);
123   return S_OK;
124 }
125
126 /******************************************************************************
127  *              OleGetIconOfClass        [OLE32.106]
128  */
129 HGLOBAL WINAPI OleGetIconOfClass(REFCLSID rclsid, LPOLESTR lpszLabel, BOOL fUseTypeAsLabel)
130 {
131   FIXME("(%p,%p,%x), stub!\n", rclsid, lpszLabel, fUseTypeAsLabel);
132   return S_OK;
133 }
134
135 /******************************************************************************
136  *              ReadFmtUserTypeStg        [OLE32.136]
137  */
138 HRESULT WINAPI ReadFmtUserTypeStg (LPSTORAGE pstg, CLIPFORMAT* pcf, LPOLESTR* lplpszUserType)
139 {
140   FIXME("(%p,%p,%p), stub!\n", pstg, pcf, lplpszUserType);
141   return S_OK;
142 }
143
144 /******************************************************************************
145  *              OleCreateStaticFromData        [OLE32.98]
146  */
147 HRESULT     WINAPI OleCreateStaticFromData(LPDATAOBJECT pSrcDataObj, REFIID iid,
148                 DWORD renderopt, LPFORMATETC pFormatEtc, LPOLECLIENTSITE pClientSite,
149                 LPSTORAGE pStg, LPVOID* ppvObj)
150 {
151   FIXME("(not shown), stub!\n");
152   return S_OK;
153 }
154
155 /******************************************************************************
156  *              OleCreateLinkFromData        [OLE32.95]
157  */
158
159 HRESULT WINAPI  OleCreateLinkFromData(LPDATAOBJECT pSrcDataObj, REFIID riid,
160                 DWORD renderopt, LPFORMATETC pFormatEtc,
161                 LPOLECLIENTSITE pClientSite, LPSTORAGE pStg,
162                 LPVOID* ppvObj)
163 {
164   FIXME("(not shown), stub!\n");
165   return S_OK;
166 }
167
168 /******************************************************************************
169  *              OleIsRunning        [OLE32.111]
170  */
171 BOOL WINAPI OleIsRunning(LPOLEOBJECT pObject)
172 {
173   FIXME("(%p), stub!\n", pObject);
174   return TRUE;
175 }
176
177 /***********************************************************************
178  *           OleRegEnumVerbs    [OLE32.120]
179  */
180 HRESULT WINAPI OleRegEnumVerbs (REFCLSID clsid, LPENUMOLEVERB* ppenum)
181 {
182     FIXME("(%p,%p), stub!\n", clsid, ppenum);
183     return OLEOBJ_E_NOVERBS;
184 }
185
186 /***********************************************************************
187  *           OleRegEnumFormatEtc    [OLE32.119]
188  */
189 HRESULT     WINAPI OleRegEnumFormatEtc (
190   REFCLSID clsid, 
191   DWORD    dwDirection,
192   LPENUMFORMATETC* ppenumFormatetc)
193 {
194     FIXME("(%p, %ld, %p), stub!\n", clsid, dwDirection, ppenumFormatetc);
195
196     return S_OK;
197 }
198
199 /***********************************************************************
200  *           PropVariantClear                       [OLE32.166]
201  */
202 HRESULT WINAPI PropVariantClear(/*PROPVARIANT* */void* pvar)
203 {
204         FIXME("(%p): stub:\n", pvar);
205
206         *(LPWORD)pvar = 0;
207         /* sets at least the vt field to VT_EMPTY */
208         return S_OK;
209 }
210
211 /***********************************************************************
212  *           PropVariantCopy                        [OLE32.246]
213  */
214 HRESULT WINAPI PropVariantCopy(/*PROPVARIANT* */void* pvarDest,
215                                  /*const PROPVARIANT* */ void* pvarSrc)
216 {
217         FIXME("(%p, %p): stub:\n", pvarDest, pvarSrc);
218
219         return S_OK;
220 }
221
222 /***********************************************************************
223  *           FreePropVariantArray                           [OLE32.195]
224  */
225 HRESULT WINAPI FreePropVariantArray(ULONG cVariants, /*PROPVARIANT* */void* rgvars)
226 {
227         FIXME("(%lu, %p): stub:\n", cVariants, rgvars);
228
229         return S_OK;
230 }