[PATCH 1/3] dwmapi: Improve DwmGetWindowAttribute stub.
Gabriel Ivăncescu
gabrielopcode at gmail.com
Fri Dec 6 10:22:04 CST 2019
Signed-off-by: Gabriel Ivăncescu <gabrielopcode at gmail.com>
---
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
More information about the wine-devel
mailing list