dwmapi: Clear DWM_TIMING_INFO structure before returning.
[wine.git] / dlls / dwmapi / dwmapi_main.c
blob6bb086a87d1ef5119294399ac3cd4199bb1a994c
1 /*
2 * Dwmapi
4 * Copyright 2007 Andras Kovacs
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
22 #include <stdarg.h>
24 #include "winternl.h"
25 #define COBJMACROS
26 #include "windef.h"
27 #include "winbase.h"
28 #include "wingdi.h"
29 #include "winuser.h"
30 #include "dwmapi.h"
31 #include "wine/debug.h"
33 WINE_DEFAULT_DEBUG_CHANNEL(dwmapi);
36 /**********************************************************************
37 * DwmIsCompositionEnabled (DWMAPI.@)
39 HRESULT WINAPI DwmIsCompositionEnabled(BOOL *enabled)
41 RTL_OSVERSIONINFOEXW version;
43 TRACE("%p\n", enabled);
45 if (!enabled)
46 return E_INVALIDARG;
48 *enabled = FALSE;
49 version.dwOSVersionInfoSize = sizeof(version);
50 if (!RtlGetVersion(&version))
51 *enabled = (version.dwMajorVersion > 6 || (version.dwMajorVersion == 6 && version.dwMinorVersion >= 3));
53 return S_OK;
56 /**********************************************************************
57 * DwmEnableComposition (DWMAPI.102)
59 HRESULT WINAPI DwmEnableComposition(UINT uCompositionAction)
61 FIXME("(%d) stub\n", uCompositionAction);
63 return S_OK;
66 /**********************************************************************
67 * DwmExtendFrameIntoClientArea (DWMAPI.@)
69 HRESULT WINAPI DwmExtendFrameIntoClientArea(HWND hwnd, const MARGINS* margins)
71 FIXME("(%p, %p) stub\n", hwnd, margins);
73 return S_OK;
76 /**********************************************************************
77 * DwmGetColorizationColor (DWMAPI.@)
79 HRESULT WINAPI DwmGetColorizationColor(DWORD *colorization, BOOL *opaque_blend)
81 FIXME("(%p, %p) stub\n", colorization, opaque_blend);
83 return E_NOTIMPL;
86 /**********************************************************************
87 * DwmFlush (DWMAPI.@)
89 HRESULT WINAPI DwmFlush(void)
91 static BOOL once;
93 if (!once++) FIXME("() stub\n");
95 return E_NOTIMPL;
98 /**********************************************************************
99 * DwmInvalidateIconicBitmaps (DWMAPI.@)
101 HRESULT WINAPI DwmInvalidateIconicBitmaps(HWND hwnd)
103 static BOOL once;
105 if (!once++) FIXME("(%p) stub\n", hwnd);
107 return E_NOTIMPL;
110 /**********************************************************************
111 * DwmSetWindowAttribute (DWMAPI.@)
113 HRESULT WINAPI DwmSetWindowAttribute(HWND hwnd, DWORD attributenum, LPCVOID attribute, DWORD size)
115 static BOOL once;
117 if (!once++) FIXME("(%p, %lx, %p, %lx) stub\n", hwnd, attributenum, attribute, size);
119 return S_OK;
122 /**********************************************************************
123 * DwmGetGraphicsStreamClient (DWMAPI.@)
125 HRESULT WINAPI DwmGetGraphicsStreamClient(UINT uIndex, UUID *pClientUuid)
127 FIXME("(%d, %p) stub\n", uIndex, pClientUuid);
129 return E_NOTIMPL;
132 /**********************************************************************
133 * DwmGetTransportAttributes (DWMAPI.@)
135 HRESULT WINAPI DwmGetTransportAttributes(BOOL *pfIsRemoting, BOOL *pfIsConnected, DWORD *pDwGeneration)
137 FIXME("(%p, %p, %p) stub\n", pfIsRemoting, pfIsConnected, pDwGeneration);
139 return DWM_E_COMPOSITIONDISABLED;
142 /**********************************************************************
143 * DwmUnregisterThumbnail (DWMAPI.@)
145 HRESULT WINAPI DwmUnregisterThumbnail(HTHUMBNAIL thumbnail)
147 FIXME("(%p) stub\n", thumbnail);
149 return E_NOTIMPL;
152 /**********************************************************************
153 * DwmEnableMMCSS (DWMAPI.@)
155 HRESULT WINAPI DwmEnableMMCSS(BOOL enableMMCSS)
157 FIXME("(%d) stub\n", enableMMCSS);
159 return S_OK;
162 /**********************************************************************
163 * DwmGetGraphicsStreamTransformHint (DWMAPI.@)
165 HRESULT WINAPI DwmGetGraphicsStreamTransformHint(UINT uIndex, MilMatrix3x2D *pTransform)
167 FIXME("(%d, %p) stub\n", uIndex, pTransform);
169 return E_NOTIMPL;
172 /**********************************************************************
173 * DwmEnableBlurBehindWindow (DWMAPI.@)
175 HRESULT WINAPI DwmEnableBlurBehindWindow(HWND hWnd, const DWM_BLURBEHIND *pBlurBuf)
177 FIXME("%p %p\n", hWnd, pBlurBuf);
179 return E_NOTIMPL;
182 /**********************************************************************
183 * DwmDefWindowProc (DWMAPI.@)
185 BOOL WINAPI DwmDefWindowProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam, LRESULT *plResult)
187 static int i;
189 if (!i++) FIXME("stub\n");
191 return FALSE;
194 /**********************************************************************
195 * DwmGetWindowAttribute (DWMAPI.@)
197 HRESULT WINAPI DwmGetWindowAttribute(HWND hwnd, DWORD attribute, PVOID pv_attribute, DWORD size)
199 FIXME("(%p %ld %p %ld) stub\n", hwnd, attribute, pv_attribute, size);
201 return E_NOTIMPL;
204 /**********************************************************************
205 * DwmRegisterThumbnail (DWMAPI.@)
207 HRESULT WINAPI DwmRegisterThumbnail(HWND dest, HWND src, PHTHUMBNAIL thumbnail_id)
209 FIXME("(%p %p %p) stub\n", dest, src, thumbnail_id);
211 return E_NOTIMPL;
214 /**********************************************************************
215 * DwmGetCompositionTimingInfo (DWMAPI.@)
217 HRESULT WINAPI DwmGetCompositionTimingInfo(HWND hwnd, DWM_TIMING_INFO *info)
219 static int i;
221 if (!info)
222 return E_INVALIDARG;
224 if (info->cbSize != sizeof(DWM_TIMING_INFO))
225 return MILERR_MISMATCHED_SIZE;
227 if(!i++) FIXME("(%p %p)\n", hwnd, info);
229 memset(info, 0, info->cbSize);
230 info->cbSize = sizeof(DWM_TIMING_INFO);
232 return S_OK;
235 /**********************************************************************
236 * DwmAttachMilContent (DWMAPI.@)
238 HRESULT WINAPI DwmAttachMilContent(HWND hwnd)
240 FIXME("(%p) stub\n", hwnd);
241 return E_NOTIMPL;
244 /**********************************************************************
245 * DwmDetachMilContent (DWMAPI.@)
247 HRESULT WINAPI DwmDetachMilContent(HWND hwnd)
249 FIXME("(%p) stub\n", hwnd);
250 return E_NOTIMPL;
253 /**********************************************************************
254 * DwmUpdateThumbnailProperties (DWMAPI.@)
256 HRESULT WINAPI DwmUpdateThumbnailProperties(HTHUMBNAIL thumbnail, const DWM_THUMBNAIL_PROPERTIES *props)
258 FIXME("(%p, %p) stub\n", thumbnail, props);
259 return E_NOTIMPL;
262 /**********************************************************************
263 * DwmSetPresentParameters (DWMAPI.@)
265 HRESULT WINAPI DwmSetPresentParameters(HWND hwnd, DWM_PRESENT_PARAMETERS *params)
267 FIXME("(%p %p) stub\n", hwnd, params);
268 return S_OK;
271 /**********************************************************************
272 * DwmSetIconicLivePreviewBitmap (DWMAPI.@)
274 HRESULT WINAPI DwmSetIconicLivePreviewBitmap(HWND hwnd, HBITMAP hbmp, POINT *pos, DWORD flags)
276 FIXME("(%p %p %p %lx) stub\n", hwnd, hbmp, pos, flags);
277 return S_OK;
280 /**********************************************************************
281 * DwmSetIconicThumbnail (DWMAPI.@)
283 HRESULT WINAPI DwmSetIconicThumbnail(HWND hwnd, HBITMAP hbmp, DWORD flags)
285 FIXME("(%p %p %lx) stub\n", hwnd, hbmp, flags);
286 return S_OK;
289 /**********************************************************************
290 * DwmpGetColorizationParameters (DWMAPI.@)
292 HRESULT WINAPI DwmpGetColorizationParameters(void *params)
294 FIXME("(%p) stub\n", params);
295 return E_NOTIMPL;