Added WIN_ListParents function and renamed WIN_BuildWinArray into
WIN_ListChildren. Made owner field in WND structure an HWND.

diff --git a/windows/user.c b/windows/user.c
index 40b5c91..9380233 100644
--- a/windows/user.c
+++ b/windows/user.c
@@ -224,7 +224,7 @@
 
     /* We have to build a list of all windows first, as in EnumWindows */
 
-    if (!(list = WIN_BuildWinArray( GetDesktopWindow() ))) return FALSE;
+    if (!(list = WIN_ListChildren( GetDesktopWindow() ))) return FALSE;
 
     /* Send a WM_QUERYENDSESSION message to every window */
 
@@ -243,7 +243,7 @@
         if (!IsWindow( *phwnd )) continue;
         SendMessageW( *phwnd, WM_ENDSESSION, result, 0 );
     }
-    WIN_ReleaseWinArray(list);
+    HeapFree( GetProcessHeap(), 0, list );
 
     if (result) ExitKernel16();
     return FALSE;