Lines Matching +full:no +full:- +full:memory +full:- +full:wc

2  *Copyright (C) 1994-2000 The XFree86 Project, Inc. All Rights Reserved.
18 *NONINFRINGEMENT. IN NO EVENT SHALL THE XFREE86 PROJECT BE LIABLE FOR
36 #include <xwin-config.h>
91 /* Create a memory bitmap compatible with the screen */ in winMWExtWMQueryDIBFormat()
92 hbmp = CreateCompatibleBitmap(pRLWinPriv->hdcScreen, 1, 1); in winMWExtWMQueryDIBFormat()
94 ErrorF("winMWExtWMQueryDIBFormat - CreateCompatibleBitmap failed\n"); in winMWExtWMQueryDIBFormat()
100 pbmih->biSize = sizeof(BITMAPINFOHEADER); in winMWExtWMQueryDIBFormat()
103 if (!GetDIBits(pRLWinPriv->hdcScreen, in winMWExtWMQueryDIBFormat()
105 ErrorF("winMWExtWMQueryDIBFormat - First call to GetDIBits failed\n"); in winMWExtWMQueryDIBFormat()
114 winDebug("winMWExtWMQueryDIBFormat - First call masks: %08x %08x %08x\n", in winMWExtWMQueryDIBFormat()
120 if (!GetDIBits(pRLWinPriv->hdcScreen, in winMWExtWMQueryDIBFormat()
122 ErrorF("winMWExtWMQueryDIBFormat - Second call to GetDIBits " in winMWExtWMQueryDIBFormat()
128 /* Free memory */ in winMWExtWMQueryDIBFormat()
149 ErrorF("winReshape - Initial CreateRectRgn (%d, %d, %d, %d) " in winMWExtWMCreateRgnFromRegion()
156 hRgnRect = CreateRectRgn(pRects->x1, in winMWExtWMCreateRgnFromRegion()
157 pRects->y1, pRects->x2, pRects->y2); in winMWExtWMCreateRgnFromRegion()
159 ErrorF("winReshape - Loop CreateRectRgn (%d, %d, %d, %d) " in winMWExtWMCreateRgnFromRegion()
161 pRects->x1, in winMWExtWMCreateRgnFromRegion()
162 pRects->y1, pRects->x2, pRects->y2, (int) GetLastError()); in winMWExtWMCreateRgnFromRegion()
167 ErrorF("winReshape - CombineRgn () failed: %d\n", in winMWExtWMCreateRgnFromRegion()
181 pRLWinPriv->hdcScreen = GetDC(pRLWinPriv->hWnd); in InitWin32RootlessEngine()
182 pRLWinPriv->hdcShadow = CreateCompatibleDC(pRLWinPriv->hdcScreen); in InitWin32RootlessEngine()
183 pRLWinPriv->hbmpShadow = NULL; in InitWin32RootlessEngine()
186 pRLWinPriv->pbmihShadow = in InitWin32RootlessEngine()
189 if (pRLWinPriv->pbmihShadow == NULL) { in InitWin32RootlessEngine()
190 ErrorF("InitWin32RootlessEngine - malloc () failed\n"); in InitWin32RootlessEngine()
195 winMWExtWMQueryDIBFormat(pRLWinPriv, pRLWinPriv->pbmihShadow); in InitWin32RootlessEngine()
205 WNDCLASSEX wc; in winMWExtWMCreateFrame() local
213 winDebug("winMWExtWMCreateFrame %d %d - %d %d\n", in winMWExtWMCreateFrame()
214 newX, newY, pFrame->width, pFrame->height); in winMWExtWMCreateFrame()
218 pRLWinPriv->pFrame = pFrame; in winMWExtWMCreateFrame()
219 pRLWinPriv->pfb = NULL; in winMWExtWMCreateFrame()
220 pRLWinPriv->hbmpShadow = NULL; in winMWExtWMCreateFrame()
221 pRLWinPriv->hdcShadow = NULL; in winMWExtWMCreateFrame()
222 pRLWinPriv->hdcScreen = NULL; in winMWExtWMCreateFrame()
223 pRLWinPriv->pbmihShadow = NULL; in winMWExtWMCreateFrame()
224 pRLWinPriv->fResized = TRUE; in winMWExtWMCreateFrame()
225 pRLWinPriv->fClose = FALSE; in winMWExtWMCreateFrame()
226 pRLWinPriv->fRestackingNow = FALSE; in winMWExtWMCreateFrame()
227 pRLWinPriv->fDestroyed = FALSE; in winMWExtWMCreateFrame()
228 pRLWinPriv->fMovingOrSizing = FALSE; in winMWExtWMCreateFrame()
231 pFrame->wid = (RootlessFrameID) pRLWinPriv; in winMWExtWMCreateFrame()
238 if (winMultiWindowGetClassHint(pFrame->win, &res_name, &res_class)) { in winMWExtWMCreateFrame()
239 strncat(pszClass, "-", 1); in winMWExtWMCreateFrame()
240 strncat(pszClass, res_name, CLASS_NAME_LENGTH - strlen(pszClass)); in winMWExtWMCreateFrame()
241 strncat(pszClass, "-", 1); in winMWExtWMCreateFrame()
242 strncat(pszClass, res_class, CLASS_NAME_LENGTH - strlen(pszClass)); in winMWExtWMCreateFrame()
247 * http://tronche.com/gui/x/icccm/sec-5.html in winMWExtWMCreateFrame()
249 if (winMultiWindowGetWindowRole(pFrame->win, &res_role)) { in winMWExtWMCreateFrame()
250 strcat(pszClass, "-"); in winMWExtWMCreateFrame()
260 snprintf(pszWindowID, sizeof(pszWindowID), "-%x", s_iWindowID++); in winMWExtWMCreateFrame()
261 pszWindowID[sizeof(pszWindowID) - 1] = 0; in winMWExtWMCreateFrame()
265 winDebug("winMWExtWMCreateFrame - Creating class: %s\n", pszClass); in winMWExtWMCreateFrame()
269 wc.cbSize = sizeof(wc); in winMWExtWMCreateFrame()
270 wc.style = CS_HREDRAW | CS_VREDRAW; in winMWExtWMCreateFrame()
271 wc.lpfnWndProc = winMWExtWMWindowProc; in winMWExtWMCreateFrame()
272 wc.cbClsExtra = 0; in winMWExtWMCreateFrame()
273 wc.cbWndExtra = 0; in winMWExtWMCreateFrame()
274 wc.hInstance = g_hInstance; in winMWExtWMCreateFrame()
275 wc.hIcon = hIcon; in winMWExtWMCreateFrame()
276 wc.hIconSm = hIconSmall; in winMWExtWMCreateFrame()
277 wc.hCursor = 0; in winMWExtWMCreateFrame()
278 wc.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH); in winMWExtWMCreateFrame()
279 wc.lpszMenuName = NULL; in winMWExtWMCreateFrame()
280 wc.lpszClassName = pszClass; in winMWExtWMCreateFrame()
281 RegisterClassEx(&wc); in winMWExtWMCreateFrame()
285 pRLWinPriv->hWnd = CreateWindowExA(WS_EX_TOOLWINDOW, /* Extended styles */ in winMWExtWMCreateFrame()
290 pFrame->width, /* Right edge */ in winMWExtWMCreateFrame()
291 pFrame->height, /* Bottom edge */ in winMWExtWMCreateFrame()
292 (HWND) NULL, /* No parent or owner window */ in winMWExtWMCreateFrame()
293 (HMENU) NULL, /* No menu */ in winMWExtWMCreateFrame()
296 if (pRLWinPriv->hWnd == NULL) { in winMWExtWMCreateFrame()
297 ErrorF("winMWExtWMCreateFrame - CreateWindowExA () failed: %d\n", in winMWExtWMCreateFrame()
303 winDebug("winMWExtWMCreateFrame - ShowWindow\n"); in winMWExtWMCreateFrame()
306 //ShowWindow (pRLWinPriv->hWnd, SW_SHOWNOACTIVATE); in winMWExtWMCreateFrame()
310 winMWExtWMReshapeFrame(pFrame->wid, pShape); in winMWExtWMCreateFrame()
314 winDebug("winMWExtWMCreateFrame - (%p) %p\n", in winMWExtWMCreateFrame()
315 pFrame->wid, pRLWinPriv->hWnd); in winMWExtWMCreateFrame()
323 (WindowPtr) GetProp(pRLWinPriv->hWnd, WIN_WINDOW_PROP)) != NULL) { in winMWExtWMCreateFrame()
328 pRLWinPriv2, pRLWinPriv2->hWnd); in winMWExtWMCreateFrame()
329 if (pRLWinPriv != pRLWinPriv2 || pRLWinPriv->hWnd != pRLWinPriv2->hWnd) { in winMWExtWMCreateFrame()
353 pRLWinPriv, pRLWinPriv->hWnd); in winMWExtWMDestroyFrame()
361 (WindowPtr) GetProp(pRLWinPriv->hWnd, WIN_WINDOW_PROP)) != NULL) { in winMWExtWMDestroyFrame()
366 pRLWinPriv2, pRLWinPriv2->hWnd); in winMWExtWMDestroyFrame()
367 if (pRLWinPriv != pRLWinPriv2 || pRLWinPriv->hWnd != pRLWinPriv2->hWnd) { in winMWExtWMDestroyFrame()
376 hInstance = (HINSTANCE) GetClassLongPtr(pRLWinPriv->hWnd, GCLP_HMODULE); in winMWExtWMDestroyFrame()
377 hIcon = (HICON) SendMessage(pRLWinPriv->hWnd, WM_GETICON, ICON_BIG, 0); in winMWExtWMDestroyFrame()
378 hIconSm = (HICON) SendMessage(pRLWinPriv->hWnd, WM_GETICON, ICON_SMALL, 0); in winMWExtWMDestroyFrame()
379 iReturn = GetClassName(pRLWinPriv->hWnd, pszClass, CLASS_NAME_LENGTH); in winMWExtWMDestroyFrame()
381 pRLWinPriv->fClose = TRUE; in winMWExtWMDestroyFrame()
382 pRLWinPriv->fDestroyed = TRUE; in winMWExtWMDestroyFrame()
385 DestroyWindow(pRLWinPriv->hWnd); in winMWExtWMDestroyFrame()
390 winDebug("winMWExtWMDestroyFrame - Unregistering %s: ", pszClass); in winMWExtWMDestroyFrame()
396 winDebug("winMWExtWMDestroyFramew - Deleting Icon\n"); in winMWExtWMDestroyFrame()
403 winDebug("winMWExtWMDestroyFrame - done\n"); in winMWExtWMDestroyFrame()
423 dwExStyle = GetWindowLongPtr(pRLWinPriv->hWnd, GWL_EXSTYLE); in winMWExtWMMoveFrame()
424 dwStyle = GetWindowLongPtr(pRLWinPriv->hWnd, GWL_STYLE); in winMWExtWMMoveFrame()
431 iWidth = pRLWinPriv->pFrame->width; in winMWExtWMMoveFrame()
432 iHeight = pRLWinPriv->pFrame->height; in winMWExtWMMoveFrame()
440 rcNew.right - rcNew.left, rcNew.bottom - rcNew.top); in winMWExtWMMoveFrame()
451 rcNew.right - rcNew.left, rcNew.bottom - rcNew.top); in winMWExtWMMoveFrame()
454 SetWindowPos(pRLWinPriv->hWnd, NULL, rcNew.left, rcNew.top, 0, 0, in winMWExtWMMoveFrame()
476 winDebug("winMWExtWMResizeFrame (%p) (%d %d)-(%d %d)\n", in winMWExtWMResizeFrame()
480 pRLWinPriv->fResized = TRUE; in winMWExtWMResizeFrame()
483 dwExStyle = GetWindowLongPtr(pRLWinPriv->hWnd, GWL_EXSTYLE); in winMWExtWMResizeFrame()
484 dwStyle = GetWindowLongPtr(pRLWinPriv->hWnd, GWL_STYLE); in winMWExtWMResizeFrame()
500 GetWindowRect(pRLWinPriv->hWnd, &rcOld); in winMWExtWMResizeFrame()
506 MoveWindow(pRLWinPriv->hWnd, in winMWExtWMResizeFrame()
508 rcNew.right - rcNew.left, rcNew.bottom - rcNew.top, TRUE); in winMWExtWMResizeFrame()
519 winScreenPriv(pRLWinPriv->pFrame->win->drawable.pScreen); in winMWExtWMRestackFrame()
525 if (pScreenPriv && pScreenPriv->fRestacking) in winMWExtWMRestackFrame()
528 pRLWinPriv->fRestackingNow = TRUE; in winMWExtWMRestackFrame()
531 if (!IsWindowVisible(pRLWinPriv->hWnd)) in winMWExtWMRestackFrame()
532 ShowWindow(pRLWinPriv->hWnd, SW_SHOWNOACTIVATE); in winMWExtWMRestackFrame()
538 pScreenPriv->widTop = wid; in winMWExtWMRestackFrame()
539 SetWindowPos(pRLWinPriv->hWnd, HWND_TOP, in winMWExtWMRestackFrame()
545 SetWindowPos(pRLWinPriv->hWnd, pRLNextWinPriv->hWnd, in winMWExtWMRestackFrame()
549 winDebug("winMWExtWMRestackFrame - done (%p)\n", pRLWinPriv); in winMWExtWMRestackFrame()
552 pRLWinPriv->fRestackingNow = FALSE; in winMWExtWMRestackFrame()
568 /* Create region for non-client area */ in winMWExtWMReshapeFrame()
569 GetWindowRect(pRLWinPriv->hWnd, &rcWindow); in winMWExtWMReshapeFrame()
570 GetClientRect(pRLWinPriv->hWnd, &rcClient); in winMWExtWMReshapeFrame()
571 MapWindowPoints(pRLWinPriv->hWnd, HWND_DESKTOP, (LPPOINT) &rcClient, 2); in winMWExtWMReshapeFrame()
572 OffsetRgn(hRgn, rcClient.left - rcWindow.left, rcClient.top - rcWindow.top); in winMWExtWMReshapeFrame()
573 OffsetRect(&rcClient, -rcWindow.left, -rcWindow.top); in winMWExtWMReshapeFrame()
574 OffsetRect(&rcWindow, -rcWindow.left, -rcWindow.top); in winMWExtWMReshapeFrame()
580 SetWindowRgn(pRLWinPriv->hWnd, hRgn, TRUE); in winMWExtWMReshapeFrame()
596 //ShowWindow (pRLWinPriv->hWnd, SW_MINIMIZE); in winMWExtWMUnmapFrame()
597 ShowWindow(pRLWinPriv->hWnd, SW_HIDE); in winMWExtWMUnmapFrame()
618 pRLWinPriv->fDestroyed); in winMWExtWMStartDrawing()
621 if (!pRLWinPriv->fDestroyed) { in winMWExtWMStartDrawing()
622 pScreen = pRLWinPriv->pFrame->win->drawable.pScreen; in winMWExtWMStartDrawing()
626 pScreenInfo = pScreenPriv->pScreenInfo; in winMWExtWMStartDrawing()
631 winDebug("\t(%d, %d)\n", (int) pRLWinPriv->pFrame->width, in winMWExtWMStartDrawing()
632 (int) pRLWinPriv->pFrame->height); in winMWExtWMStartDrawing()
634 if (pRLWinPriv->hdcScreen == NULL) { in winMWExtWMStartDrawing()
638 if (pRLWinPriv->fResized) { in winMWExtWMStartDrawing()
643 pRLWinPriv->pbmihShadow->biWidth = pRLWinPriv->pFrame->width; in winMWExtWMStartDrawing()
644 pRLWinPriv->pbmihShadow->biHeight = -pRLWinPriv->pFrame->height; in winMWExtWMStartDrawing()
646 stridesize = pRLWinPriv->pFrame->width * (pScreenInfo->dwBPP >> 3); in winMWExtWMStartDrawing()
649 stridesize += 4 - misalignment; in winMWExtWMStartDrawing()
650 pRLWinPriv->pbmihShadow->biWidth = in winMWExtWMStartDrawing()
651 stridesize / (pScreenInfo->dwBPP >> 3); in winMWExtWMStartDrawing()
653 pRLWinPriv->pbmihShadow->biWidth, in winMWExtWMStartDrawing()
654 pRLWinPriv->pFrame->width); in winMWExtWMStartDrawing()
657 hdcNew = CreateCompatibleDC(pRLWinPriv->hdcScreen); in winMWExtWMStartDrawing()
659 hbmpNew = CreateDIBSection(pRLWinPriv->hdcScreen, in winMWExtWMStartDrawing()
660 (BITMAPINFO *) pRLWinPriv->pbmihShadow, in winMWExtWMStartDrawing()
662 (VOID **) &pRLWinPriv->pfb, NULL, 0); in winMWExtWMStartDrawing()
663 if (hbmpNew == NULL || pRLWinPriv->pfb == NULL) { in winMWExtWMStartDrawing()
664 ErrorF("winMWExtWMStartDrawing - CreateDIBSection failed\n"); in winMWExtWMStartDrawing()
669 winDebug("winMWExtWMStartDrawing - Shadow buffer allocated\n"); in winMWExtWMStartDrawing()
678 winDebug("winMWExtWMStartDrawing - Dibsection width: %d height: %d " in winMWExtWMStartDrawing()
690 winDebug("winMWExtWMStartDrawing - Attempting a shadow blit\n"); in winMWExtWMStartDrawing()
696 pRLWinPriv->pFrame->width, in winMWExtWMStartDrawing()
697 pRLWinPriv->pFrame->height, pRLWinPriv->hdcShadow, in winMWExtWMStartDrawing()
701 winDebug("winMWExtWMStartDrawing - Shadow blit success\n"); in winMWExtWMStartDrawing()
705 ErrorF("winMWExtWMStartDrawing - Shadow blit failure\n"); in winMWExtWMStartDrawing()
711 ErrorF("winMWExtWMStartDrawing - WEIRDNESS - " in winMWExtWMStartDrawing()
714 ErrorF("winMWExtWMStartDrawing - WEIRDNESS - " in winMWExtWMStartDrawing()
716 dibsection.dsBmih.biHeight = -dibsection.dsBmih.biHeight; in winMWExtWMStartDrawing()
719 pRLWinPriv->dwWidthBytes = dibsection.dsBm.bmWidthBytes; in winMWExtWMStartDrawing()
722 winDebug("winMWExtWMStartDrawing - bytesPerRow: %d\n", in winMWExtWMStartDrawing()
727 DeleteObject(pRLWinPriv->hdcShadow); in winMWExtWMStartDrawing()
728 DeleteObject(pRLWinPriv->hbmpShadow); in winMWExtWMStartDrawing()
730 pRLWinPriv->hdcShadow = hdcNew; in winMWExtWMStartDrawing()
731 pRLWinPriv->hbmpShadow = hbmpNew; in winMWExtWMStartDrawing()
733 pRLWinPriv->fResized = FALSE; in winMWExtWMStartDrawing()
735 winDebug("winMWExtWMStartDrawing - 0x%08x %d\n", in winMWExtWMStartDrawing()
736 (unsigned int) pRLWinPriv->pfb, in winMWExtWMStartDrawing()
742 ErrorF("winMWExtWMStartDrawing - Already window was destroyed \n"); in winMWExtWMStartDrawing()
745 winDebug("winMWExtWMStartDrawing - done (%p) %p %d\n", in winMWExtWMStartDrawing()
747 pRLWinPriv->pfb, in winMWExtWMStartDrawing()
748 (unsigned int) pRLWinPriv->dwWidthBytes); in winMWExtWMStartDrawing()
750 *pixelData = pRLWinPriv->pfb; in winMWExtWMStartDrawing()
751 *bytesPerRow = pRLWinPriv->dwWidthBytes; in winMWExtWMStartDrawing()
766 szWin.cx = pRLWinPriv->dwWidth; in winMWExtWMStopDrawing()
767 szWin.cy = pRLWinPriv->dwHeight; in winMWExtWMStopDrawing()
775 if (!UpdateLayeredWindow(pRLWinPriv->hWnd, in winMWExtWMStopDrawing()
777 pRLWinPriv->hdcShadow, &ptSrc, in winMWExtWMStopDrawing()
779 ErrorF("winMWExtWMStopDrawing - UpdateLayeredWindow failed\n"); in winMWExtWMStopDrawing()
798 szWin.cx = pRLWinPriv->dwWidth; in winMWExtWMUpdateRegion()
799 szWin.cy = pRLWinPriv->dwHeight; in winMWExtWMUpdateRegion()
807 if (!UpdateLayeredWindow(pRLWinPriv->hWnd, in winMWExtWMUpdateRegion()
809 pRLWinPriv->hdcShadow, &ptSrc, in winMWExtWMUpdateRegion()
822 ErrorF("winMWExtWMUpdateRegion - UpdateLayeredWindow failed: %s\n", in winMWExtWMUpdateRegion()
828 UpdateWindow(pRLWinPriv->hWnd); in winMWExtWMUpdateRegion()
846 rcDmg.left = pRects->x1 + shift_x; in winMWExtWMDamageRects()
847 rcDmg.top = pRects->y1 + shift_y; in winMWExtWMDamageRects()
848 rcDmg.right = pRects->x2 + shift_x; in winMWExtWMDamageRects()
849 rcDmg.bottom = pRects->y2 + shift_y; in winMWExtWMDamageRects()
851 InvalidateRect(pRLWinPriv->hWnd, &rcDmg, FALSE); in winMWExtWMDamageRects()
858 win32RootlessWindowPtr pRLWinPriv = (win32RootlessWindowPtr) pFrame->wid; in winMWExtWMRootlessSwitchWindow()
862 pRLWinPriv, pRLWinPriv->hWnd); in winMWExtWMRootlessSwitchWindow()
864 pRLWinPriv->pFrame = pFrame; in winMWExtWMRootlessSwitchWindow()
865 pRLWinPriv->fResized = TRUE; in winMWExtWMRootlessSwitchWindow()
868 SetWindowLongPtr(pRLWinPriv->hWnd, GWL_EXSTYLE, WS_EX_TOOLWINDOW); in winMWExtWMRootlessSwitchWindow()
871 SetWindowLongPtr(pRLWinPriv->hWnd, GWL_STYLE, WS_POPUP | WS_CLIPCHILDREN); in winMWExtWMRootlessSwitchWindow()
883 (WindowPtr) GetProp(pRLWinPriv->hWnd, WIN_WINDOW_PROP)) != NULL) { in winMWExtWMRootlessSwitchWindow()
888 pRLWinPriv2, pRLWinPriv2->hWnd); in winMWExtWMRootlessSwitchWindow()
889 if (pRLWinPriv != pRLWinPriv2 || pRLWinPriv->hWnd != pRLWinPriv2->hWnd) { in winMWExtWMRootlessSwitchWindow()
903 winDebug("winMWExtWMCopyBytes - Not implemented\n"); in winMWExtWMCopyBytes()
923 pDstRects->x1, pDstRects->y1, in winMWExtWMCopyWindow()
924 pDstRects->x2 - pDstRects->x1, in winMWExtWMCopyWindow()
925 pDstRects->y2 - pDstRects->y1, in winMWExtWMCopyWindow()
926 pDstRects->x1 + nDx, pDstRects->y1 + nDy); in winMWExtWMCopyWindow()
929 if (!BitBlt(pRLWinPriv->hdcShadow, in winMWExtWMCopyWindow()
930 pDstRects->x1, pDstRects->y1, in winMWExtWMCopyWindow()
931 pDstRects->x2 - pDstRects->x1, in winMWExtWMCopyWindow()
932 pDstRects->y2 - pDstRects->y1, in winMWExtWMCopyWindow()
933 pRLWinPriv->hdcShadow, in winMWExtWMCopyWindow()
934 pDstRects->x1 + nDx, pDstRects->y1 + nDy, SRCCOPY)) { in winMWExtWMCopyWindow()
935 ErrorF("winMWExtWMCopyWindow - BitBlt failed.\n"); in winMWExtWMCopyWindow()
938 rcDmg.left = pDstRects->x1; in winMWExtWMCopyWindow()
939 rcDmg.top = pDstRects->y1; in winMWExtWMCopyWindow()
940 rcDmg.right = pDstRects->x2; in winMWExtWMCopyWindow()
941 rcDmg.bottom = pDstRects->y2; in winMWExtWMCopyWindow()
943 InvalidateRect(pRLWinPriv->hWnd, &rcDmg, FALSE); in winMWExtWMCopyWindow()
946 winDebug("winMWExtWMCopyWindow - done\n"); in winMWExtWMCopyWindow()
957 win32RootlessWindowPtr pRLWinPriv = (win32RootlessWindowPtr) pFrame->wid; in winMWExtWMSetNativeProperty()
962 lData = (long) pRLWinPriv->hWnd; in winMWExtWMSetNativeProperty()
963 dixChangeWindowProperty(serverClient, pFrame->win, AtmWindowsWmNativeHwnd(), in winMWExtWMSetNativeProperty()