[WINESYNC][SDK][DWMAPI] Import DWMAPI from WINE 8-14 (#5594)
authorJustin Miller <justin.miller@reactos.org>
Mon, 18 Sep 2023 14:30:44 +0000 (07:30 -0700)
committerGitHub <noreply@github.com>
Mon, 18 Sep 2023 14:30:44 +0000 (07:30 -0700)
dll/win32/CMakeLists.txt
dll/win32/dwmapi/CMakeLists.txt [new file with mode: 0644]
dll/win32/dwmapi/dwmapi.spec [new file with mode: 0644]
dll/win32/dwmapi/dwmapi_main.c [new file with mode: 0644]
dll/win32/dwmapi/version.rc [new file with mode: 0644]
media/doc/WINESYNC.txt
sdk/include/psdk/dwmapi.h
sdk/include/psdk/winerror.h

index 50c4080..da4dfb9 100644 (file)
@@ -259,3 +259,7 @@ add_subdirectory(xinput1_3)
 add_subdirectory(xinput9_1_0)
 add_subdirectory(xmllite)
 add_subdirectory(xolehlp)
+
+if(DLL_EXPORT_VERSION GREATER_EQUAL 0x600)
+    add_subdirectory(dwmapi)
+endif()
diff --git a/dll/win32/dwmapi/CMakeLists.txt b/dll/win32/dwmapi/CMakeLists.txt
new file mode 100644 (file)
index 0000000..2c5eb4f
--- /dev/null
@@ -0,0 +1,19 @@
+
+add_definitions(-D__WINESRC__)
+
+include_directories(${REACTOS_SOURCE_DIR}/sdk/include/reactos/wine)
+spec2def(dwmapi.dll dwmapi.spec)
+
+list(APPEND SOURCE
+     dwmapi_main.c)
+
+add_library(dwmapi MODULE
+    ${SOURCE}
+    version.rc
+    ${CMAKE_CURRENT_BINARY_DIR}/dwmapi.def
+    ${CMAKE_CURRENT_BINARY_DIR}/dwmapi_stubs.c)
+
+set_module_type(dwmapi win32dll UNICODE ENTRYPOINT 0)
+target_link_libraries(dwmapi uuid wine)
+add_importlibs(dwmapi user32 kernel32 ntdll)
+add_cd_file(TARGET dwmapi DESTINATION reactos/system32 FOR all)
diff --git a/dll/win32/dwmapi/dwmapi.spec b/dll/win32/dwmapi/dwmapi.spec
new file mode 100644 (file)
index 0000000..8477d91
--- /dev/null
@@ -0,0 +1,67 @@
+100 stub DwmpDxGetWindowSharedSurface
+101 stub DwmpDxUpdateWindowSharedSurface
+102 stdcall DwmEnableComposition(long)
+103 stub -noname DwmpRestartComposition
+104 stub -noname DwmpSetColorizationColor
+105 stub -noname DwmpStartOrStopFlip3D
+106 stub -noname DwmpIsCompositionCapable
+107 stub -noname DwmpGetGlobalState
+108 stub -noname DwmpEnableRedirection
+109 stub -noname DwmpOpenGraphicsStream
+110 stub -noname DwmpCloseGraphicsStream
+112 stub -noname DwmpSetGraphicsStreamTransformHint
+113 stub -noname DwmpActivateLivePreview
+114 stub -noname DwmpQueryThumbnailType
+115 stub -noname DwmpStartupViaUserInit
+118 stub -noname DwmpGetAssessment
+119 stub -noname DwmpGetAssessmentUsage
+120 stub -noname DwmpSetAssessmentUsage
+121 stub -noname DwmpIsSessionDWM
+124 stub -noname DwmpRegisterThumbnail
+125 stub DwmpDxBindSwapChain
+126 stub DwmpDxUnbindSwapChain
+127 stdcall -noname DwmpGetColorizationParameters(ptr)
+128 stub DwmpDxgiIsThreadDesktopComposited
+129 stub -noname DwmpDxgiDisableRedirection
+130 stub -noname DwmpDxgiEnableRedirection
+131 stub -noname DwmpSetColorizationParameters
+132 stub -noname DwmpGetCompositionTimingInfoEx
+133 stub DwmpDxUpdateWindowRedirectionBltSurface
+134 stub -noname DwmpDxSetContentHostingInformation
+135 stub DwmpRenderFlick
+136 stub DwmpAllocateSecurityDescriptor
+137 stub DwmpFreeSecurityDescriptor
+143 stub DwmpEnableDDASupport
+156 stub DwmTetherTextContact
+
+# @ stdcall -private DllCanUnloadNow()
+# @ stdcall -private DllGetClassObject(ptr ptr ptr)
+@ stdcall DwmAttachMilContent(long)
+@ stdcall DwmDefWindowProc(long long long long ptr)
+@ stdcall DwmDetachMilContent(long)
+@ stdcall DwmEnableBlurBehindWindow(ptr ptr)
+@ stdcall DwmEnableMMCSS(long)
+@ stdcall DwmExtendFrameIntoClientArea(long ptr)
+@ stdcall DwmFlush()
+@ stdcall DwmGetColorizationColor(ptr ptr)
+@ stdcall DwmGetCompositionTimingInfo(long ptr)
+@ stdcall DwmGetGraphicsStreamClient(long ptr)
+@ stdcall DwmGetGraphicsStreamTransformHint(long ptr)
+@ stdcall DwmGetTransportAttributes(ptr ptr ptr)
+@ stdcall DwmGetWindowAttribute(ptr long ptr long)
+@ stdcall DwmInvalidateIconicBitmaps(ptr)
+@ stdcall DwmIsCompositionEnabled(ptr)
+@ stub DwmModifyPreviousDxFrameDuration
+@ stub DwmQueryThumbnailSourceSize
+@ stdcall DwmRegisterThumbnail(long long ptr)
+# @ stub DwmRenderGesture
+@ stub DwmSetDxFrameDuration
+@ stdcall DwmSetIconicLivePreviewBitmap(long long ptr long)
+@ stdcall DwmSetIconicThumbnail(long long long)
+@ stdcall DwmSetPresentParameters(ptr ptr)
+@ stdcall DwmSetWindowAttribute(long long ptr long)
+# @ stub DwmShowContact
+# @ stub DwmTetherContact
+# @ stub DwmTransitionOwnedWindow
+@ stdcall DwmUnregisterThumbnail(long)
+@ stdcall DwmUpdateThumbnailProperties(ptr ptr)
diff --git a/dll/win32/dwmapi/dwmapi_main.c b/dll/win32/dwmapi/dwmapi_main.c
new file mode 100644 (file)
index 0000000..2e6a91c
--- /dev/null
@@ -0,0 +1,338 @@
+/*
+ * Dwmapi
+ *
+ * Copyright 2007 Andras Kovacs
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ *
+ */
+
+#include <stdarg.h>
+
+#ifdef __REACTOS__
+#include <rtlfuncs.h>
+#else
+#include "winternl.h"
+#endif
+
+#define COBJMACROS
+#include "windef.h"
+#include "winbase.h"
+#include "wingdi.h"
+#include "winuser.h"
+#include "dwmapi.h"
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(dwmapi);
+
+
+/**********************************************************************
+ *           DwmIsCompositionEnabled         (DWMAPI.@)
+ */
+HRESULT WINAPI DwmIsCompositionEnabled(BOOL *enabled)
+{
+
+#ifdef __REACTOS__
+    RTL_OSVERSIONINFOW version;
+#else
+    RTL_OSVERSIONINFOEXW version;
+#endif
+
+    TRACE("%p\n", enabled);
+
+    if (!enabled)
+        return E_INVALIDARG;
+
+    *enabled = FALSE;
+    version.dwOSVersionInfoSize = sizeof(version);
+    if (!RtlGetVersion(&version))
+        *enabled = (version.dwMajorVersion > 6 || (version.dwMajorVersion == 6 && version.dwMinorVersion >= 3));
+
+    return S_OK;
+}
+
+/**********************************************************************
+ *           DwmEnableComposition         (DWMAPI.102)
+ */
+HRESULT WINAPI DwmEnableComposition(UINT uCompositionAction)
+{
+    FIXME("(%d) stub\n", uCompositionAction);
+
+    return S_OK;
+}
+
+/**********************************************************************
+ *           DwmExtendFrameIntoClientArea    (DWMAPI.@)
+ */
+HRESULT WINAPI DwmExtendFrameIntoClientArea(HWND hwnd, const MARGINS* margins)
+{
+    FIXME("(%p, %p) stub\n", hwnd, margins);
+
+    return S_OK;
+}
+
+/**********************************************************************
+ *           DwmGetColorizationColor      (DWMAPI.@)
+ */
+HRESULT WINAPI DwmGetColorizationColor(DWORD *colorization, BOOL *opaque_blend)
+{
+    FIXME("(%p, %p) stub\n", colorization, opaque_blend);
+
+    return E_NOTIMPL;
+}
+
+/**********************************************************************
+ *                  DwmFlush              (DWMAPI.@)
+ */
+HRESULT WINAPI DwmFlush(void)
+{
+    static BOOL once;
+
+    if (!once++) FIXME("() stub\n");
+
+    return S_OK;
+}
+
+/**********************************************************************
+ *        DwmInvalidateIconicBitmaps      (DWMAPI.@)
+ */
+HRESULT WINAPI DwmInvalidateIconicBitmaps(HWND hwnd)
+{
+    static BOOL once;
+
+    if (!once++) FIXME("(%p) stub\n", hwnd);
+
+    return E_NOTIMPL;
+}
+
+/**********************************************************************
+ *           DwmSetWindowAttribute         (DWMAPI.@)
+ */
+HRESULT WINAPI DwmSetWindowAttribute(HWND hwnd, DWORD attributenum, LPCVOID attribute, DWORD size)
+{
+    static BOOL once;
+
+    if (!once++) FIXME("(%p, %lx, %p, %lx) stub\n", hwnd, attributenum, attribute, size);
+
+    return S_OK;
+}
+
+/**********************************************************************
+ *           DwmGetGraphicsStreamClient         (DWMAPI.@)
+ */
+HRESULT WINAPI DwmGetGraphicsStreamClient(UINT uIndex, UUID *pClientUuid)
+{
+    FIXME("(%d, %p) stub\n", uIndex, pClientUuid);
+
+    return E_NOTIMPL;
+}
+
+/**********************************************************************
+ *           DwmGetTransportAttributes         (DWMAPI.@)
+ */
+HRESULT WINAPI DwmGetTransportAttributes(BOOL *pfIsRemoting, BOOL *pfIsConnected, DWORD *pDwGeneration)
+{
+    FIXME("(%p, %p, %p) stub\n", pfIsRemoting, pfIsConnected, pDwGeneration);
+
+    return DWM_E_COMPOSITIONDISABLED;
+}
+
+/**********************************************************************
+ *           DwmUnregisterThumbnail         (DWMAPI.@)
+ */
+HRESULT WINAPI DwmUnregisterThumbnail(HTHUMBNAIL thumbnail)
+{
+    FIXME("(%p) stub\n", thumbnail);
+
+    return E_NOTIMPL;
+}
+
+/**********************************************************************
+ *           DwmEnableMMCSS         (DWMAPI.@)
+ */
+HRESULT WINAPI DwmEnableMMCSS(BOOL enableMMCSS)
+{
+    FIXME("(%d) stub\n", enableMMCSS);
+
+    return S_OK;
+}
+
+/**********************************************************************
+ *           DwmGetGraphicsStreamTransformHint         (DWMAPI.@)
+ */
+HRESULT WINAPI DwmGetGraphicsStreamTransformHint(UINT uIndex, MilMatrix3x2D *pTransform)
+{
+    FIXME("(%d, %p) stub\n", uIndex, pTransform);
+
+    return E_NOTIMPL;
+}
+
+/**********************************************************************
+ *           DwmEnableBlurBehindWindow         (DWMAPI.@)
+ */
+HRESULT WINAPI DwmEnableBlurBehindWindow(HWND hWnd, const DWM_BLURBEHIND *pBlurBuf)
+{
+    FIXME("%p %p\n", hWnd, pBlurBuf);
+
+    return E_NOTIMPL;
+}
+
+/**********************************************************************
+ *           DwmDefWindowProc         (DWMAPI.@)
+ */
+BOOL WINAPI DwmDefWindowProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam, LRESULT *plResult)
+{
+    static int i;
+
+    if (!i++) FIXME("stub\n");
+
+    return FALSE;
+}
+
+/**********************************************************************
+ *           DwmGetWindowAttribute         (DWMAPI.@)
+ */
+HRESULT WINAPI DwmGetWindowAttribute(HWND hwnd, DWORD attribute, PVOID pv_attribute, DWORD size)
+{
+    FIXME("(%p %ld %p %ld) stub\n", hwnd, attribute, pv_attribute, size);
+
+    return E_NOTIMPL;
+}
+
+/**********************************************************************
+ *           DwmRegisterThumbnail         (DWMAPI.@)
+ */
+HRESULT WINAPI DwmRegisterThumbnail(HWND dest, HWND src, PHTHUMBNAIL thumbnail_id)
+{
+    FIXME("(%p %p %p) stub\n", dest, src, thumbnail_id);
+
+    return E_NOTIMPL;
+}
+
+static int get_display_frequency(void)
+{
+    DEVMODEW mode;
+    BOOL ret;
+
+    memset(&mode, 0, sizeof(mode));
+    mode.dmSize = sizeof(mode);
+    ret = EnumDisplaySettingsExW(NULL, ENUM_CURRENT_SETTINGS, &mode, 0);
+    if (ret && mode.dmFields & DM_DISPLAYFREQUENCY && mode.dmDisplayFrequency)
+    {
+        return mode.dmDisplayFrequency;
+    }
+    else
+    {
+        WARN("Failed to query display frequency, returning a fallback value.\n");
+        return 60;
+    }
+}
+
+/**********************************************************************
+ *           DwmGetCompositionTimingInfo         (DWMAPI.@)
+ */
+HRESULT WINAPI DwmGetCompositionTimingInfo(HWND hwnd, DWM_TIMING_INFO *info)
+{
+    LARGE_INTEGER performance_frequency, qpc;
+    static int i, display_frequency;
+
+    if (!info)
+        return E_INVALIDARG;
+
+    if (info->cbSize != sizeof(DWM_TIMING_INFO))
+        return MILERR_MISMATCHED_SIZE;
+
+    if(!i++) FIXME("(%p %p)\n", hwnd, info);
+
+    memset(info, 0, info->cbSize);
+    info->cbSize = sizeof(DWM_TIMING_INFO);
+
+    display_frequency = get_display_frequency();
+    info->rateRefresh.uiNumerator = display_frequency;
+    info->rateRefresh.uiDenominator = 1;
+    info->rateCompose.uiNumerator = display_frequency;
+    info->rateCompose.uiDenominator = 1;
+
+    QueryPerformanceFrequency(&performance_frequency);
+    info->qpcRefreshPeriod = performance_frequency.QuadPart / display_frequency;
+
+    QueryPerformanceCounter(&qpc);
+    info->qpcVBlank = (qpc.QuadPart / info->qpcRefreshPeriod) * info->qpcRefreshPeriod;
+
+    return S_OK;
+}
+
+/**********************************************************************
+ *           DwmAttachMilContent         (DWMAPI.@)
+ */
+HRESULT WINAPI DwmAttachMilContent(HWND hwnd)
+{
+    FIXME("(%p) stub\n", hwnd);
+    return E_NOTIMPL;
+}
+
+/**********************************************************************
+ *           DwmDetachMilContent         (DWMAPI.@)
+ */
+HRESULT WINAPI DwmDetachMilContent(HWND hwnd)
+{
+    FIXME("(%p) stub\n", hwnd);
+    return E_NOTIMPL;
+}
+
+/**********************************************************************
+ *           DwmUpdateThumbnailProperties         (DWMAPI.@)
+ */
+HRESULT WINAPI DwmUpdateThumbnailProperties(HTHUMBNAIL thumbnail, const DWM_THUMBNAIL_PROPERTIES *props)
+{
+    FIXME("(%p, %p) stub\n", thumbnail, props);
+    return E_NOTIMPL;
+}
+
+/**********************************************************************
+ *           DwmSetPresentParameters         (DWMAPI.@)
+ */
+HRESULT WINAPI DwmSetPresentParameters(HWND hwnd, DWM_PRESENT_PARAMETERS *params)
+{
+    FIXME("(%p %p) stub\n", hwnd, params);
+    return S_OK;
+};
+
+/**********************************************************************
+ *           DwmSetIconicLivePreviewBitmap         (DWMAPI.@)
+ */
+HRESULT WINAPI DwmSetIconicLivePreviewBitmap(HWND hwnd, HBITMAP hbmp, POINT *pos, DWORD flags)
+{
+    FIXME("(%p %p %p %lx) stub\n", hwnd, hbmp, pos, flags);
+    return S_OK;
+};
+
+/**********************************************************************
+ *           DwmSetIconicThumbnail         (DWMAPI.@)
+ */
+HRESULT WINAPI DwmSetIconicThumbnail(HWND hwnd, HBITMAP hbmp, DWORD flags)
+{
+    FIXME("(%p %p %lx) stub\n", hwnd, hbmp, flags);
+    return S_OK;
+};
+
+/**********************************************************************
+ *           DwmpGetColorizationParameters         (DWMAPI.@)
+ */
+HRESULT WINAPI DwmpGetColorizationParameters(void *params)
+{
+    FIXME("(%p) stub\n", params);
+    return E_NOTIMPL;
+}
diff --git a/dll/win32/dwmapi/version.rc b/dll/win32/dwmapi/version.rc
new file mode 100644 (file)
index 0000000..b76f194
--- /dev/null
@@ -0,0 +1,26 @@
+/*
+ * Copyright 2007 Andras Kovacs
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#define WINE_FILEDESCRIPTION_STR "Desktop Window Manager API"
+#define WINE_FILENAME_STR "dwmapi.dll"
+#define WINE_FILEVERSION 6,0,6000,16386
+#define WINE_FILEVERSION_STR "6.0.6000.16386"
+#define WINE_PRODUCTVERSION 6,0,6000,16386
+#define WINE_PRODUCTVERSION_STR "6.0.6000.16386"
+
+#include "wine/wine_common_ver.rc"
index 228295c..f6614ac 100644 (file)
@@ -68,6 +68,7 @@ dll/win32/cryptui             # Synced to WineStaging-4.18
 dll/win32/dbgeng              # Synced to WineStaging-4.18
 dll/win32/dbghelp             # Synced to WineStaging-5.16
 dll/win32/dciman32            # Synced to WineStaging-3.3
+dll/win32/dwmapi              # Synced to Wine-8.14
 dll/win32/faultrep            # Synced to WineStaging-4.18
 dll/win32/fontsub             # Synced to WineStaging-2.9
 dll/win32/fusion              # Synced to WineStaging-4.18
index 035c831..1b19426 100644 (file)
@@ -34,9 +34,52 @@ typedef HTHUMBNAIL *PHTHUMBNAIL;
 
 #include <pshpack1.h>
 
+static const UINT c_DwmMaxQueuedBuffers = 8;
+static const UINT c_DwmMaxMonitors = 16;
+static const UINT c_DwmMaxAdapters = 16;
+
 typedef ULONGLONG DWM_FRAME_COUNT;
 typedef ULONGLONG QPC_TIME;
 
+enum DWMWINDOWATTRIBUTE {
+    DWMWA_NCRENDERING_ENABLED = 1,
+    DWMWA_NCRENDERING_POLICY,
+    DWMWA_TRANSITIONS_FORCEDISABLED,
+    DWMWA_ALLOW_NCPAINT,
+    DWMWA_CAPTION_BUTTON_BOUNDS,
+    DWMWA_NONCLIENT_RTL_LAYOUT,
+    DWMWA_FORCE_ICONIC_REPRESENTATION,
+    DWMWA_FLIP3D_POLICY,
+    DWMWA_EXTENDED_FRAME_BOUNDS,
+    DWMWA_HAS_ICONIC_BITMAP,
+    DWMWA_DISALLOW_PEEK,
+    DWMWA_EXCLUDED_FROM_PEEK,
+    DWMWA_CLOAK,
+    DWMWA_CLOAKED,
+    DWMWA_FREEZE_REPRESENTATION,
+    DWMWA_LAST
+};
+
+enum DWMNCRENDERINGPOLICY {
+    DWMNCRP_USEWINDOWSTYLE,
+    DWMNCRP_DISABLED,
+    DWMNCRP_ENABLED,
+    DWMNCRP_LAST
+};
+
+enum DWMFLIP3DWINDOWPOLICY {
+    DWMFLIP3D_DEFAULT,
+    DWMFLIP3D_EXCLUDEBELOW,
+    DWMFLIP3D_EXCLUDEABOVE,
+    DWMFLIP3D_LAST
+};
+
+typedef enum _DWM_SOURCE_FRAME_SAMPLING {
+    DWM_SOURCE_FRAME_SAMPLING_POINT,
+    DWM_SOURCE_FRAME_SAMPLING_COVERAGE,
+    DWM_SOURCE_FRAME_SAMPLING_LAST
+} DWM_SOURCE_FRAME_SAMPLING;
+
 typedef struct _UNSIGNED_RATIO {
     UINT32 uiNumerator;
     UINT32 uiDenominator;
@@ -95,6 +138,11 @@ typedef struct _MilMatrix3x2D
     DOUBLE DY;
 } MilMatrix3x2D;
 
+#define DWM_FRAME_DURATION_DEFAULT    -1
+
+#define DWM_EC_DISABLECOMPOSITION     0
+#define DWM_EC_ENABLECOMPOSITION      1
+
 #define DWM_BB_ENABLE                 0x00000001
 #define DWM_BB_BLURREGION             0x00000002
 #define DWM_BB_TRANSITIONONMAXIMIZED  0x00000004
@@ -107,6 +155,18 @@ typedef struct _DWM_BLURBEHIND
     BOOL fTransitionOnMaximized;
 } DWM_BLURBEHIND, *PDWM_BLURBEHIND;
 
+#define DWM_SIT_DISPLAYFRAME          0x00000001
+
+#define DWM_CLOAKED_APP               0x00000001
+#define DWM_CLOAKED_SHELL             0x00000002
+#define DWM_CLOAKED_INHERITED         0x00000004
+
+#define DWM_TNP_RECTDESTINATION       0x00000001
+#define DWM_TNP_RECTSOURCE            0x00000002
+#define DWM_TNP_OPACITY               0x00000004
+#define DWM_TNP_VISIBLE               0x00000008
+#define DWM_TNP_SOURCECLIENTAREAONLY  0x00000010
+
 typedef struct _DWM_THUMBNAIL_PROPERTIES
 {
     DWORD dwFlags;
@@ -117,18 +177,39 @@ typedef struct _DWM_THUMBNAIL_PROPERTIES
     BOOL  fSourceClientAreaOnly;
 } DWM_THUMBNAIL_PROPERTIES, *PDWM_THUMBNAIL_PROPERTIES;
 
+typedef struct _DWM_PRESENT_PARAMETERS {
+    UINT32 cbSize;
+    BOOL fQueue;
+    DWM_FRAME_COUNT cRefreshStart;
+    UINT cBuffer;
+    BOOL fUseSourceRate;
+    UNSIGNED_RATIO rateSource;
+    UINT cRefreshesPerFrame;
+    DWM_SOURCE_FRAME_SAMPLING eSampling;
+} DWM_PRESENT_PARAMETERS;
+
 #include <poppack.h>
 
-DWMAPI DwmDefWindowProc(HWND, UINT, WPARAM, LPARAM, LRESULT*);
+DWMAPI DwmAttachMilContent(HWND);
+DWMAPI_(BOOL) DwmDefWindowProc(HWND, UINT, WPARAM, LPARAM, LRESULT*);
+DWMAPI DwmDetachMilContent(HWND);
 DWMAPI DwmEnableBlurBehindWindow(HWND, const DWM_BLURBEHIND *);
 DWMAPI DwmEnableComposition(UINT);
 DWMAPI DwmEnableMMCSS(BOOL);
 DWMAPI DwmExtendFrameIntoClientArea(HWND,const MARGINS*);
-DWMAPI DwmGetColorizationColor(DWORD*,BOOL);
+DWMAPI DwmFlush(void);
+DWMAPI DwmGetColorizationColor(DWORD *, BOOL *);
 DWMAPI DwmGetCompositionTimingInfo(HWND,DWM_TIMING_INFO*);
+DWMAPI DwmGetGraphicsStreamClient(UINT, UUID *);
+DWMAPI DwmGetGraphicsStreamTransformHint(UINT, MilMatrix3x2D *);
+DWMAPI DwmGetTransportAttributes(BOOL*, BOOL*, DWORD*);
+DWMAPI DwmGetWindowAttribute(HWND, DWORD, PVOID, DWORD);
 DWMAPI DwmInvalidateIconicBitmaps(HWND);
 DWMAPI DwmIsCompositionEnabled(BOOL*);
 DWMAPI DwmRegisterThumbnail(HWND, HWND, PHTHUMBNAIL);
+DWMAPI DwmSetIconicLivePreviewBitmap(HWND, HBITMAP, POINT*, DWORD);
+DWMAPI DwmSetIconicThumbnail(HWND, HBITMAP, DWORD);
+DWMAPI DwmSetPresentParameters(HWND, DWM_PRESENT_PARAMETERS *);
 DWMAPI DwmSetWindowAttribute(HWND, DWORD, LPCVOID, DWORD);
 DWMAPI DwmUnregisterThumbnail(HTHUMBNAIL);
 DWMAPI DwmUpdateThumbnailProperties(HTHUMBNAIL, const DWM_THUMBNAIL_PROPERTIES *);
index c3815c2..f20c7a9 100644 (file)
 
 #define WININET_E_NAME_NOT_RESOLVED                        _HRESULT_TYPEDEF_(0x80072ee7)
 
+#define ERROR_HUNG_DISPLAY_DRIVER_THREAD                   _HRESULT_TYPEDEF_(0x80260001)
+#define DWM_E_COMPOSITIONDISABLED                          _HRESULT_TYPEDEF_(0x80263001)
+#define DWM_E_REMOTING_NOT_SUPPORTED                       _HRESULT_TYPEDEF_(0x80263002)
+#define DWM_E_NO_REDIRECTION_SURFACE_AVAILABLE             _HRESULT_TYPEDEF_(0x80263003)
+#define DWM_E_NOT_QUEUING_PRESENTS                         _HRESULT_TYPEDEF_(0x80263004)
+#define DWM_E_ADAPTER_NOT_FOUND                            _HRESULT_TYPEDEF_(0x80263005)
+#define DWM_S_GDI_REDIRECTION_SURFACE                      _HRESULT_TYPEDEF_(0x00263005)
+
 #define WINCODEC_ERR_WRONGSTATE                            _HRESULT_TYPEDEF_(0x88982f04)
 #define WINCODEC_ERR_VALUEOUTOFRANGE                       _HRESULT_TYPEDEF_(0x88982f05)
 #define WINCODEC_ERR_UNKNOWNIMAGEFORMAT                    _HRESULT_TYPEDEF_(0x88982f07)
 #define WINCODEC_ERR_WIN32ERROR                            _HRESULT_TYPEDEF_(0x88982f94)
 #define WINCODEC_ERR_INVALIDPROGRESSIVELEVEL               _HRESULT_TYPEDEF_(0x88982f95)
 
+#define MILERR_MISMATCHED_SIZE                             _HRESULT_TYPEDEF_(0x88980090)
+
 #define ERROR_AUDITING_DISABLED                            _HRESULT_TYPEDEF_(0xC0090001L)
 #define ERROR_ALL_SIDS_FILTERED                            _HRESULT_TYPEDEF_(0xC0090002L)