From 3be63887844085c64e3248adcfe5688c24222dde Mon Sep 17 00:00:00 2001 From: Justin Miller Date: Sat, 19 Aug 2023 11:33:02 -0700 Subject: [PATCH] [WINESYNC][SDK][DWMAPI] Import DWMAPI from WINE 8-14 --- dll/win32/CMakeLists.txt | 4 + dll/win32/dwmapi/CMakeLists.txt | 19 ++ dll/win32/dwmapi/dwmapi.spec | 67 +++++++ dll/win32/dwmapi/dwmapi_main.c | 338 ++++++++++++++++++++++++++++++++ dll/win32/dwmapi/version.rc | 26 +++ media/doc/WINESYNC.txt | 1 + sdk/include/psdk/dwmapi.h | 85 +++++++- sdk/include/psdk/winerror.h | 9 + 8 files changed, 547 insertions(+), 2 deletions(-) create mode 100644 dll/win32/dwmapi/CMakeLists.txt create mode 100644 dll/win32/dwmapi/dwmapi.spec create mode 100644 dll/win32/dwmapi/dwmapi_main.c create mode 100644 dll/win32/dwmapi/version.rc diff --git a/dll/win32/CMakeLists.txt b/dll/win32/CMakeLists.txt index 1df9e319a2c2d..6695de7ea385a 100644 --- a/dll/win32/CMakeLists.txt +++ b/dll/win32/CMakeLists.txt @@ -260,3 +260,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 index 0000000000000..2c5eb4f0eca9b --- /dev/null +++ b/dll/win32/dwmapi/CMakeLists.txt @@ -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 index 0000000000000..8477d9150ad69 --- /dev/null +++ b/dll/win32/dwmapi/dwmapi.spec @@ -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 index 0000000000000..2e6a91c7dedd6 --- /dev/null +++ b/dll/win32/dwmapi/dwmapi_main.c @@ -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 + +#ifdef __REACTOS__ +#include +#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 index 0000000000000..b76f194dd65fd --- /dev/null +++ b/dll/win32/dwmapi/version.rc @@ -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" diff --git a/media/doc/WINESYNC.txt b/media/doc/WINESYNC.txt index 8f2f98bc498f1..fd73383ab53e2 100644 --- a/media/doc/WINESYNC.txt +++ b/media/doc/WINESYNC.txt @@ -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 diff --git a/sdk/include/psdk/dwmapi.h b/sdk/include/psdk/dwmapi.h index 035c831a2b328..1b19426ce2d17 100644 --- a/sdk/include/psdk/dwmapi.h +++ b/sdk/include/psdk/dwmapi.h @@ -34,9 +34,52 @@ typedef HTHUMBNAIL *PHTHUMBNAIL; #include +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 -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 *); diff --git a/sdk/include/psdk/winerror.h b/sdk/include/psdk/winerror.h index ebd25efc7a153..cda32ca019293 100644 --- a/sdk/include/psdk/winerror.h +++ b/sdk/include/psdk/winerror.h @@ -3270,6 +3270,14 @@ #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) @@ -3408,6 +3416,7 @@ #define DXGI_ERROR_NOT_CURRENT _HRESULT_TYPEDEF_(0x887a002e) #define DXGI_ERROR_HW_PROTECTION_OUTOFMEMORY _HRESULT_TYPEDEF_(0x887a0030) #define DXGI_ERROR_MODE_CHANGE_IN_PROGRESS _HRESULT_TYPEDEF_(0x887a0025) +#define MILERR_MISMATCHED_SIZE _HRESULT_TYPEDEF_(0x88980090) #define ERROR_AUDITING_DISABLED _HRESULT_TYPEDEF_(0xC0090001L) #define ERROR_ALL_SIDS_FILTERED _HRESULT_TYPEDEF_(0xC0090002L)