From: "Gabriel Ivăncescu" Subject: [PATCH 1/3] dwmapi: Improve DwmGetWindowAttribute stub. Message-Id: Date: Fri, 6 Dec 2019 18:22:04 +0200 Signed-off-by: Gabriel Ivăncescu --- dlls/dwmapi/dwmapi_main.c | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/dlls/dwmapi/dwmapi_main.c b/dlls/dwmapi/dwmapi_main.c index 6378a09..e976fda 100644 --- a/dlls/dwmapi/dwmapi_main.c +++ b/dlls/dwmapi/dwmapi_main.c @@ -205,9 +205,31 @@ BOOL WINAPI DwmDefWindowProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam, */ HRESULT WINAPI DwmGetWindowAttribute(HWND hwnd, DWORD attribute, PVOID pv_attribute, DWORD size) { - FIXME("(%p %d %p %d) stub\n", hwnd, attribute, pv_attribute, size); + if (!hwnd) return E_HANDLE; + if (!pv_attribute) return E_INVALIDARG; - return E_NOTIMPL; + switch (attribute) + { + case DWMWA_NCRENDERING_ENABLED: + if (size < sizeof(BOOL)) return E_INVALIDARG; + + WARN("DWMWA_NCRENDERING_ENABLED: always returning FALSE.\n"); + *(BOOL*)(pv_attribute) = FALSE; + break; + + case DWMWA_CLOAKED: + if (size < sizeof(DWORD)) return E_INVALIDARG; + + WARN("DWMWA_CLOAKED: always returning 0.\n"); + *(DWORD*)(pv_attribute) = 0; + break; + + default: + FIXME("unimplemented attribute %d, size %u, for hwnd %p.\n", attribute, size, hwnd); + return E_INVALIDARG; + } + + return S_OK; } /********************************************************************** -- 2.21.0