- Timestamp:
- Oct 1, 1999, 5:51:53 PM (26 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/user32/user32.cpp
r1089 r1098 1 /* $Id: user32.cpp,v 1.3 7 1999-09-28 18:43:08cbratschi Exp $ */1 /* $Id: user32.cpp,v 1.38 1999-10-01 15:51:53 cbratschi Exp $ */ 2 2 3 3 /* … … 19 19 * to their OS/2-specific counterparts as far as possible. 20 20 *****************************************************************************/ 21 22 //Attention: many functions belong to other subsystems, move them to their 23 // right place! 21 24 22 25 #include <os2win.h> … … 1252 1255 /* Help Functions */ 1253 1256 1257 DWORD WIN32API GetWindowContextHelpId(HWND hwnd) 1258 { 1259 #ifdef DEBUG 1260 WriteLog("USER32: GetWindowContextHelpId, not implemented\n"); 1261 #endif 1262 hwnd = Win32Window::Win32ToOS2Handle(hwnd); 1263 1264 return(0); 1265 } 1266 //****************************************************************************** 1267 //****************************************************************************** 1268 BOOL WIN32API SetWindowContextHelpId(HWND hwnd, DWORD dwContextHelpId) 1269 { 1270 #ifdef DEBUG 1271 WriteLog("USER32: SetWindowContextHelpId, not implemented\n"); 1272 #endif 1273 hwnd = Win32Window::Win32ToOS2Handle(hwnd); 1274 1275 return(TRUE); 1276 } 1277 //****************************************************************************** 1278 //****************************************************************************** 1254 1279 BOOL WIN32API WinHelpA( HWND hwnd, LPCSTR lpszHelp, UINT uCommand, DWORD dwData) 1255 1280 { … … 1296 1321 #endif 1297 1322 return 0; 1323 } 1324 /***************************************************************************** 1325 * Name : UINT WIN32API GetKBCodePage 1326 * Purpose : The GetKBCodePage function is provided for compatibility with 1327 * earlier versions of Windows. In the Win32 application programming 1328 * interface (API) it just calls the GetOEMCP function. 1329 * Parameters: 1330 * Variables : 1331 * Result : If the function succeeds, the return value is an OEM code-page 1332 * identifier, or it is the default identifier if the registry 1333 * value is not readable. For a list of OEM code-page identifiers, 1334 * see GetOEMCP. 1335 * Remark : 1336 * Status : UNTESTED 1337 * 1338 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 1339 *****************************************************************************/ 1340 1341 UINT WIN32API GetKBCodePage(VOID) 1342 { 1343 return (GetOEMCP()); 1298 1344 } 1299 1345 /***************************************************************************** … … 1318 1364 1319 1365 return(FALSE); 1366 } 1367 //****************************************************************************** 1368 //****************************************************************************** 1369 int WIN32API GetKeyboardLayoutList(int nBuff, HKL *lpList) 1370 { 1371 #ifdef DEBUG 1372 WriteLog("USER32: GetKeyboardLayoutList, not implemented\n"); 1373 #endif 1374 return(0); 1375 } 1376 //****************************************************************************** 1377 //****************************************************************************** 1378 HKL WIN32API GetKeyboardLayout(DWORD dwLayout) 1379 { 1380 #ifdef DEBUG 1381 WriteLog("USER32: GetKeyboardLayout, not implemented\n"); 1382 #endif 1383 return(0); 1320 1384 } 1321 1385 /***************************************************************************** … … 1756 1820 return O32_VkKeyScan((char)wch); 1757 1821 } 1822 /***************************************************************************** 1823 * Name : SHORT WIN32API VkKeyScanExW 1824 * Purpose : The VkKeyScanEx function translates a character to the 1825 * corresponding virtual-key code and shift state. The function 1826 * translates the character using the input language and physical 1827 * keyboard layout identified by the given keyboard layout handle. 1828 * Parameters: UINT uChar character to translate 1829 * HKL hkl keyboard layout handle 1830 * Variables : 1831 * Result : see docs 1832 * Remark : 1833 * Status : UNTESTED STUB 1834 * 1835 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 1836 *****************************************************************************/ 1837 WORD WIN32API VkKeyScanExW(WCHAR uChar, 1838 HKL hkl) 1839 { 1840 dprintf(("USER32:VkKeyScanExW (%u,%08x) not implemented.\n", 1841 uChar, 1842 hkl)); 1843 1844 return (uChar); 1845 } 1846 /***************************************************************************** 1847 * Name : SHORT WIN32API VkKeyScanExA 1848 * Purpose : The VkKeyScanEx function translates a character to the 1849 * corresponding virtual-key code and shift state. The function 1850 * translates the character using the input language and physical 1851 * keyboard layout identified by the given keyboard layout handle. 1852 * Parameters: UINT uChar character to translate 1853 * HKL hkl keyboard layout handle 1854 * Variables : 1855 * Result : see docs 1856 * Remark : 1857 * Status : UNTESTED STUB 1858 * 1859 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 1860 *****************************************************************************/ 1861 WORD WIN32API VkKeyScanExA(CHAR uChar, 1862 HKL hkl) 1863 { 1864 dprintf(("USER32:VkKeyScanExA (%u,%08x) not implemented.\n", 1865 uChar, 1866 hkl)); 1867 1868 return (uChar); 1869 } 1758 1870 1759 1871 /* Synchronization Functions */ … … 1875 1987 /* Painting and Drawing Functions */ 1876 1988 1877 1878 1989 INT WIN32API ExcludeUpdateRgn( HDC hDC, HWND hWnd) 1879 1990 { … … 1898 2009 } 1899 2010 #endif 2011 /***************************************************************************** 2012 * Name : int WIN32API GetWindowRgn 2013 * Purpose : The GetWindowRgn function obtains a copy of the window region of a window. 2014 * Parameters: HWND hWnd handle to window whose window region is to be obtained 2015 * HRGN hRgn handle to region that receives a copy of the window region 2016 * Variables : 2017 * Result : NULLREGION, SIMPLEREGION, COMPLEXREGION, ERROR 2018 * Remark : 2019 * Status : UNTESTED STUB 2020 * 2021 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 2022 *****************************************************************************/ 2023 2024 int WIN32API GetWindowRgn (HWND hWnd, 2025 HRGN hRgn) 2026 { 2027 dprintf(("USER32:GetWindowRgn (%08xh,%08x) not implemented.\n", 2028 hWnd, 2029 hRgn)); 2030 //Attention: Win32 hwnd handle! 2031 2032 return (NULLREGION); 2033 } 1900 2034 //****************************************************************************** 1901 2035 //TODO: Not complete … … 1995 2129 return (FALSE); 1996 2130 } 2131 /***************************************************************************** 2132 * Name : int WIN32API SetWindowRgn 2133 * Purpose : The SetWindowRgn function sets the window region of a window. The 2134 * window region determines the area within the window where the 2135 * operating system permits drawing. The operating system does not 2136 * display any portion of a window that lies outside of the window region 2137 * Parameters: HWND hWnd handle to window whose window region is to be set 2138 * HRGN hRgn handle to region 2139 * BOOL bRedraw window redraw flag 2140 * Variables : 2141 * Result : If the function succeeds, the return value is non-zero. 2142 * If the function fails, the return value is zero. 2143 * Remark : 2144 * Status : UNTESTED STUB 2145 * 2146 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 2147 *****************************************************************************/ 2148 2149 int WIN32API SetWindowRgn(HWND hWnd, 2150 HRGN hRgn, 2151 BOOL bRedraw) 2152 { 2153 dprintf(("USER32:SetWindowRgn (%08xh,%08xh,%u) not implemented.\n", 2154 hWnd, 2155 hRgn, 2156 bRedraw)); 2157 //Attention: Win32 hwnd handle! 2158 2159 return (0); 2160 } 1997 2161 //****************************************************************************** 1998 2162 //****************************************************************************** … … 2215 2379 /* Resource Functions */ 2216 2380 2217 //CB: stopped here void aa(){};2218 //******************************************************************************2219 //TODO:2220 //******************************************************************************2221 2381 HANDLE WIN32API CopyImage(HANDLE hImage, UINT uType, int cxDesired, int cyDesired, UINT fuFlags) 2222 2382 { … … 2236 2396 return(NULL); 2237 2397 } 2238 //****************************************************************************** 2239 //****************************************************************************** 2240 int WIN32API GetKeyboardLayoutList(int nBuff, HKL *lpList) 2241 { 2242 #ifdef DEBUG 2243 WriteLog("USER32: GetKeyboardLayoutList, not implemented\n"); 2244 #endif 2245 return(0); 2246 } 2247 //****************************************************************************** 2248 //****************************************************************************** 2249 HKL WIN32API GetKeyboardLayout(DWORD dwLayout) 2250 { 2251 #ifdef DEBUG 2252 WriteLog("USER32: GetKeyboardLayout, not implemented\n"); 2253 #endif 2254 return(0); 2255 } 2256 //****************************************************************************** 2257 //****************************************************************************** 2398 2399 /* Icon Functions */ 2400 2258 2401 int WIN32API LookupIconIdFromDirectory(PBYTE presbits, BOOL fIcon) 2259 2402 { … … 2274 2417 return(0); 2275 2418 } 2276 //****************************************************************************** 2277 //****************************************************************************** 2278 BOOL WIN32API SetWindowContextHelpId(HWND hwnd, DWORD dwContextHelpId) 2279 { 2280 #ifdef DEBUG 2281 WriteLog("USER32: SetWindowContextHelpId, not implemented\n"); 2282 #endif 2283 return(TRUE); 2284 } 2285 //****************************************************************************** 2286 //****************************************************************************** 2287 DWORD WIN32API GetWindowContextHelpId(HWND hwnd) 2288 { 2289 #ifdef DEBUG 2290 WriteLog("USER32: GetWindowContextHelpId, not implemented\n"); 2291 #endif 2292 return(0); 2293 } 2294 //****************************************************************************** 2295 //****************************************************************************** 2419 2420 /* Device Context Functions */ 2421 2296 2422 BOOL WIN32API GetMonitorInfoA(HMONITOR,LPMONITORINFO) 2297 2423 { … … 2317 2443 WriteLog("USER32: MonitorFromWindow not correctly supported??\n"); 2318 2444 #endif 2445 //Attention: Win32 hwnd! 2446 2319 2447 return(0); 2320 2448 } … … 2374 2502 return(TRUE); 2375 2503 } 2504 /***************************************************************************** 2505 * Name : BOOL WIN32API EnumDisplaySettingsW 2506 * Purpose : The EnumDisplaySettings function obtains information about one 2507 * of a display device's graphics modes. You can obtain information 2508 * for all of a display device's graphics modes by making a series 2509 * of calls to this function. 2510 * Parameters: LPCTSTR lpszDeviceName specifies the display device 2511 * DWORD iModeNum specifies the graphics mode 2512 * LPDEVMODE lpDevMode points to structure to receive settings 2513 * Variables : 2514 * Result : If the function succeeds, the return value is TRUE. 2515 * If the function fails, the return value is FALSE. 2516 * Remark : 2517 * Status : UNTESTED STUB 2518 * 2519 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 2520 *****************************************************************************/ 2521 BOOL WIN32API EnumDisplaySettingsW(LPCSTR lpszDeviceName, 2522 DWORD iModeNum, 2523 LPDEVMODEW lpDevMode) 2524 { 2525 dprintf(("USER32:EnumDisplaySettingsW (%s,%08xh,%08x) not implemented.\n", 2526 lpszDeviceName, 2527 iModeNum, 2528 lpDevMode)); 2529 2530 return (EnumDisplaySettingsA(lpszDeviceName, 2531 iModeNum, 2532 (LPDEVMODEA)lpDevMode)); 2533 } 2376 2534 //****************************************************************************** 2377 2535 //****************************************************************************** … … 2388 2546 return(DISP_CHANGE_SUCCESSFUL); 2389 2547 } 2390 //******************************************************************************2391 //******************************************************************************2392 2393 2394 2548 /***************************************************************************** 2395 2549 * Name : LONG WIN32API ChangeDisplaySettingsW … … 2410 2564 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 2411 2565 *****************************************************************************/ 2412 2413 2566 LONG WIN32API ChangeDisplaySettingsW(LPDEVMODEW lpDevMode, 2414 2567 DWORD dwFlags) … … 2421 2574 dwFlags)); 2422 2575 } 2576 2577 /* Window Station and Desktop Functions */ 2423 2578 2424 2579 /***************************************************************************** … … 2438 2593 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 2439 2594 *****************************************************************************/ 2440 2441 2595 BOOL WIN32API CloseDesktop(HDESK hDesktop) 2442 2596 { … … 2446 2600 return (FALSE); 2447 2601 } 2448 2449 2450 2602 /***************************************************************************** 2451 2603 * Name : BOOL WIN32API CloseWindowStation … … 2461 2613 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 2462 2614 *****************************************************************************/ 2463 2464 2615 BOOL WIN32API CloseWindowStation(HWINSTA hWinSta) 2465 2616 { … … 2469 2620 return (FALSE); 2470 2621 } 2471 2472 2473 2622 /***************************************************************************** 2474 2623 * Name : HDESK WIN32API CreateDesktopA … … 2491 2640 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 2492 2641 *****************************************************************************/ 2493 2494 2642 HDESK WIN32API CreateDesktopA(LPCTSTR lpszDesktop, 2495 2643 LPCTSTR lpszDevice, … … 2509 2657 return (NULL); 2510 2658 } 2511 2512 2513 2659 /***************************************************************************** 2514 2660 * Name : HDESK WIN32API CreateDesktopW … … 2531 2677 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 2532 2678 *****************************************************************************/ 2533 2534 2679 HDESK WIN32API CreateDesktopW(LPCTSTR lpszDesktop, 2535 2680 LPCTSTR lpszDevice, … … 2549 2694 return (NULL); 2550 2695 } 2551 2552 2553 2696 /***************************************************************************** 2554 2697 * Name : HWINSTA WIN32API CreateWindowStationA … … 2571 2714 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 2572 2715 *****************************************************************************/ 2573 2574 2716 HWINSTA WIN32API CreateWindowStationA(LPTSTR lpWinSta, 2575 2717 DWORD dwReserved, … … 2585 2727 return (NULL); 2586 2728 } 2587 2588 2589 2729 /***************************************************************************** 2590 2730 * Name : HWINSTA WIN32API CreateWindowStationW … … 2607 2747 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 2608 2748 *****************************************************************************/ 2609 2610 2749 HWINSTA WIN32API CreateWindowStationW(LPWSTR lpWinSta, 2611 2750 DWORD dwReserved, … … 2621 2760 return (NULL); 2622 2761 } 2623 2624 2762 /***************************************************************************** 2625 2763 * Name : BOOL WIN32API EnumDesktopWindows … … 2639 2777 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 2640 2778 *****************************************************************************/ 2641 2642 2779 BOOL WIN32API EnumDesktopWindows(HDESK hDesktop, 2643 2780 WNDENUMPROC lpfn, … … 2651 2788 return (FALSE); 2652 2789 } 2653 2654 2655 2790 /***************************************************************************** 2656 2791 * Name : BOOL WIN32API EnumDesktopsA … … 2671 2806 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 2672 2807 *****************************************************************************/ 2673 2674 2808 BOOL WIN32API EnumDesktopsA(HWINSTA hWinSta, 2675 2809 DESKTOPENUMPROCA lpEnumFunc, … … 2683 2817 return (FALSE); 2684 2818 } 2685 2686 2687 2819 /***************************************************************************** 2688 2820 * Name : BOOL WIN32API EnumDesktopsW … … 2703 2835 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 2704 2836 *****************************************************************************/ 2705 2706 2837 BOOL WIN32API EnumDesktopsW(HWINSTA hWinSta, 2707 2838 DESKTOPENUMPROCW lpEnumFunc, … … 2715 2846 return (FALSE); 2716 2847 } 2717 2718 2719 2720 /*****************************************************************************2721 * Name : BOOL WIN32API EnumDisplaySettingsW2722 * Purpose : The EnumDisplaySettings function obtains information about one2723 * of a display device's graphics modes. You can obtain information2724 * for all of a display device's graphics modes by making a series2725 * of calls to this function.2726 * Parameters: LPCTSTR lpszDeviceName specifies the display device2727 * DWORD iModeNum specifies the graphics mode2728 * LPDEVMODE lpDevMode points to structure to receive settings2729 * Variables :2730 * Result : If the function succeeds, the return value is TRUE.2731 * If the function fails, the return value is FALSE.2732 * Remark :2733 * Status : UNTESTED STUB2734 *2735 * Author : Patrick Haller [Thu, 1998/02/26 11:55]2736 *****************************************************************************/2737 2738 BOOL WIN32API EnumDisplaySettingsW(LPCSTR lpszDeviceName,2739 DWORD iModeNum,2740 LPDEVMODEW lpDevMode)2741 {2742 dprintf(("USER32:EnumDisplaySettingsW (%s,%08xh,%08x) not implemented.\n",2743 lpszDeviceName,2744 iModeNum,2745 lpDevMode));2746 2747 return (EnumDisplaySettingsA(lpszDeviceName,2748 iModeNum,2749 (LPDEVMODEA)lpDevMode));2750 }2751 2752 2753 2848 /***************************************************************************** 2754 2849 * Name : BOOL WIN32API EnumWindowStationsA … … 2767 2862 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 2768 2863 *****************************************************************************/ 2769 2770 2864 BOOL WIN32API EnumWindowStationsA(WINSTAENUMPROCA lpEnumFunc, 2771 2865 LPARAM lParam) … … 2777 2871 return (FALSE); 2778 2872 } 2779 2780 2781 2873 /***************************************************************************** 2782 2874 * Name : BOOL WIN32API EnumWindowStationsW … … 2795 2887 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 2796 2888 *****************************************************************************/ 2797 2798 2889 BOOL WIN32API EnumWindowStationsW(WINSTAENUMPROCW lpEnumFunc, 2799 2890 LPARAM lParam) … … 2805 2896 return (FALSE); 2806 2897 } 2807 2808 2809 2810 /*****************************************************************************2811 * Name : UINT WIN32API GetKBCodePage2812 * Purpose : The GetKBCodePage function is provided for compatibility with2813 * earlier versions of Windows. In the Win32 application programming2814 * interface (API) it just calls the GetOEMCP function.2815 * Parameters:2816 * Variables :2817 * Result : If the function succeeds, the return value is an OEM code-page2818 * identifier, or it is the default identifier if the registry2819 * value is not readable. For a list of OEM code-page identifiers,2820 * see GetOEMCP.2821 * Remark :2822 * Status : UNTESTED2823 *2824 * Author : Patrick Haller [Thu, 1998/02/26 11:55]2825 *****************************************************************************/2826 2827 UINT WIN32API GetKBCodePage(VOID)2828 {2829 return (GetOEMCP());2830 }2831 2832 2833 2898 /***************************************************************************** 2834 2899 * Name : HWINSTA WIN32API GetProcessWindowStation … … 2847 2912 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 2848 2913 *****************************************************************************/ 2849 2850 2914 HWINSTA WIN32API GetProcessWindowStation(VOID) 2851 2915 { … … 2854 2918 return (NULL); 2855 2919 } 2856 2857 2858 2859 2920 /***************************************************************************** 2860 2921 * Name : BOOL WIN32API GetUserObjectInformationA … … 2875 2936 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 2876 2937 *****************************************************************************/ 2877 2878 2938 BOOL WIN32API GetUserObjectInformationA(HANDLE hObj, 2879 2939 int nIndex, … … 2891 2951 return (FALSE); 2892 2952 } 2893 2894 2895 2953 /***************************************************************************** 2896 2954 * Name : BOOL WIN32API GetUserObjectInformationW … … 2911 2969 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 2912 2970 *****************************************************************************/ 2913 2914 2971 BOOL WIN32API GetUserObjectInformationW(HANDLE hObj, 2915 2972 int nIndex, … … 2927 2984 return (FALSE); 2928 2985 } 2929 2930 2931 2986 /***************************************************************************** 2932 2987 * Name : BOOL WIN32API GetUserObjectSecurity … … 2947 3002 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 2948 3003 *****************************************************************************/ 2949 2950 3004 BOOL WIN32API GetUserObjectSecurity(HANDLE hObj, 2951 3005 SECURITY_INFORMATION * pSIRequested, … … 2963 3017 return (FALSE); 2964 3018 } 2965 2966 2967 2968 /*****************************************************************************2969 * Name : int WIN32API GetWindowRgn2970 * Purpose : The GetWindowRgn function obtains a copy of the window region of a window.2971 * Parameters: HWND hWnd handle to window whose window region is to be obtained2972 * HRGN hRgn handle to region that receives a copy of the window region2973 * Variables :2974 * Result : NULLREGION, SIMPLEREGION, COMPLEXREGION, ERROR2975 * Remark :2976 * Status : UNTESTED STUB2977 *2978 * Author : Patrick Haller [Thu, 1998/02/26 11:55]2979 *****************************************************************************/2980 2981 int WIN32API GetWindowRgn (HWND hWnd,2982 HRGN hRgn)2983 {2984 dprintf(("USER32:GetWindowRgn (%08xh,%08x) not implemented.\n",2985 hWnd,2986 hRgn));2987 2988 return (NULLREGION);2989 }2990 2991 2992 2993 3019 /***************************************************************************** 2994 3020 * Name : HDESK WIN32API OpenDesktopA … … 3011 3037 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 3012 3038 *****************************************************************************/ 3013 3014 3039 HDESK WIN32API OpenDesktopA(LPCTSTR lpszDesktopName, 3015 3040 DWORD dwFlags, … … 3025 3050 return (NULL); 3026 3051 } 3027 3028 3029 3052 /***************************************************************************** 3030 3053 * Name : HDESK WIN32API OpenDesktopW … … 3047 3070 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 3048 3071 *****************************************************************************/ 3049 3050 3072 HDESK WIN32API OpenDesktopW(LPCTSTR lpszDesktopName, 3051 3073 DWORD dwFlags, … … 3061 3083 return (NULL); 3062 3084 } 3063 3064 3065 3085 /***************************************************************************** 3066 3086 * Name : HDESK WIN32API OpenInputDesktop … … 3081 3101 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 3082 3102 *****************************************************************************/ 3083 3084 3103 HDESK WIN32API OpenInputDesktop(DWORD dwFlags, 3085 3104 BOOL fInherit, … … 3093 3112 return (NULL); 3094 3113 } 3095 3096 3097 3114 /***************************************************************************** 3098 3115 * Name : HWINSTA WIN32API OpenWindowStationA … … 3112 3129 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 3113 3130 *****************************************************************************/ 3114 3115 3131 HWINSTA WIN32API OpenWindowStationA(LPCTSTR lpszWinStaName, 3116 3132 BOOL fInherit, … … 3124 3140 return (NULL); 3125 3141 } 3126 3127 3128 3142 /***************************************************************************** 3129 3143 * Name : HWINSTA WIN32API OpenWindowStationW … … 3145 3159 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 3146 3160 *****************************************************************************/ 3147 3148 3161 HWINSTA WIN32API OpenWindowStationW(LPCTSTR lpszWinStaName, 3149 3162 BOOL fInherit, … … 3157 3170 return (NULL); 3158 3171 } 3159 3160 3161 /*****************************************************************************3162 * Name : VOID WIN32API SetDebugErrorLevel3163 * Purpose : The SetDebugErrorLevel function sets the minimum error level at3164 * which Windows will generate debugging events and pass them to a debugger.3165 * Parameters: DWORD dwLevel debugging error level3166 * Variables :3167 * Result :3168 * Remark :3169 * Status : UNTESTED STUB3170 *3171 * Author : Patrick Haller [Thu, 1998/02/26 11:55]3172 *****************************************************************************/3173 3174 VOID WIN32API SetDebugErrorLevel(DWORD dwLevel)3175 {3176 dprintf(("USER32:SetDebugErrorLevel (%08x) not implemented.\n",3177 dwLevel));3178 }3179 3180 3181 3172 /***************************************************************************** 3182 3173 * Name : BOOL WIN32API SetProcessWindowStation … … 3196 3187 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 3197 3188 *****************************************************************************/ 3198 3199 3189 BOOL WIN32API SetProcessWindowStation(HWINSTA hWinSta) 3200 3190 { … … 3204 3194 return (FALSE); 3205 3195 } 3206 3207 3208 3196 /***************************************************************************** 3209 3197 * Name : BOOL WIN32API SetThreadDesktop … … 3221 3209 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 3222 3210 *****************************************************************************/ 3223 3224 3211 BOOL WIN32API SetThreadDesktop(HDESK hDesktop) 3225 3212 { … … 3229 3216 return (FALSE); 3230 3217 } 3231 3232 3233 3218 /***************************************************************************** 3234 3219 * Name : BOOL WIN32API SetUserObjectInformationA … … 3248 3233 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 3249 3234 *****************************************************************************/ 3250 3251 3235 BOOL WIN32API SetUserObjectInformationA(HANDLE hObject, 3252 3236 int nIndex, … … 3262 3246 return (FALSE); 3263 3247 } 3264 3265 3266 3248 /***************************************************************************** 3267 3249 * Name : BOOL WIN32API SetUserObjectInformationW … … 3281 3263 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 3282 3264 *****************************************************************************/ 3283 3284 3265 BOOL WIN32API SetUserObjectInformationW(HANDLE hObject, 3285 3266 int nIndex, … … 3295 3276 return (FALSE); 3296 3277 } 3297 3298 3299 3278 /***************************************************************************** 3300 3279 * Name : BOOL WIN32API SetUserObjectSecurity … … 3313 3292 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 3314 3293 *****************************************************************************/ 3315 3316 3294 BOOL WIN32API SetUserObjectSecurity(HANDLE hObject, 3317 3295 SECURITY_INFORMATION * psi, … … 3325 3303 return (FALSE); 3326 3304 } 3327 3328 3329 /*****************************************************************************3330 * Name : int WIN32API SetWindowRgn3331 * Purpose : The SetWindowRgn function sets the window region of a window. The3332 * window region determines the area within the window where the3333 * operating system permits drawing. The operating system does not3334 * display any portion of a window that lies outside of the window region3335 * Parameters: HWND hWnd handle to window whose window region is to be set3336 * HRGN hRgn handle to region3337 * BOOL bRedraw window redraw flag3338 * Variables :3339 * Result : If the function succeeds, the return value is non-zero.3340 * If the function fails, the return value is zero.3341 * Remark :3342 * Status : UNTESTED STUB3343 *3344 * Author : Patrick Haller [Thu, 1998/02/26 11:55]3345 *****************************************************************************/3346 3347 int WIN32API SetWindowRgn(HWND hWnd,3348 HRGN hRgn,3349 BOOL bRedraw)3350 {3351 dprintf(("USER32:SetWindowRgn (%08xh,%08xh,%u) not implemented.\n",3352 hWnd,3353 hRgn,3354 bRedraw));3355 3356 return (0);3357 }3358 3359 3360 /*****************************************************************************3361 * Name : BOOL WIN32API SetWindowsHookW3362 * Purpose : The SetWindowsHook function is not implemented in the Win32 API.3363 * Win32-based applications should use the SetWindowsHookEx function.3364 * Parameters:3365 * Variables :3366 * Result :3367 * Remark : ARGH ! MICROSOFT !3368 * Status : UNTESTED STUB3369 *3370 * Author : Patrick Haller [Thu, 1998/02/26 11:55]3371 *****************************************************************************/3372 3373 HHOOK WIN32API SetWindowsHookW(int nFilterType, HOOKPROC pfnFilterProc)3374 3375 {3376 return (FALSE);3377 }3378 3379 3380 /*****************************************************************************3381 * Name : BOOL WIN32API ShowWindowAsync3382 * Purpose : The ShowWindowAsync function sets the show state of a window3383 * created by a different thread.3384 * Parameters: HWND hwnd handle of window3385 * int nCmdShow show state of window3386 * Variables :3387 * Result : If the window was previously visible, the return value is TRUE.3388 * If the window was previously hidden, the return value is FALSE.3389 * Remark :3390 * Status : UNTESTED STUB3391 *3392 * Author : Patrick Haller [Thu, 1998/02/26 11:55]3393 *****************************************************************************/3394 3395 BOOL WIN32API ShowWindowAsync (HWND hWnd,3396 int nCmdShow)3397 {3398 dprintf(("USER32:ShowWindowAsync (%08xh,%08x) not implemented.\n",3399 hWnd,3400 nCmdShow));3401 3402 return (FALSE);3403 }3404 3405 3406 3305 /***************************************************************************** 3407 3306 * Name : BOOL WIN32API SwitchDesktop … … 3420 3319 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 3421 3320 *****************************************************************************/ 3422 3423 3321 BOOL WIN32API SwitchDesktop(HDESK hDesktop) 3424 3322 { … … 3429 3327 } 3430 3328 3329 /* Debugging Functions */ 3330 3331 /***************************************************************************** 3332 * Name : VOID WIN32API SetDebugErrorLevel 3333 * Purpose : The SetDebugErrorLevel function sets the minimum error level at 3334 * which Windows will generate debugging events and pass them to a debugger. 3335 * Parameters: DWORD dwLevel debugging error level 3336 * Variables : 3337 * Result : 3338 * Remark : 3339 * Status : UNTESTED STUB 3340 * 3341 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 3342 *****************************************************************************/ 3343 VOID WIN32API SetDebugErrorLevel(DWORD dwLevel) 3344 { 3345 dprintf(("USER32:SetDebugErrorLevel (%08x) not implemented.\n", 3346 dwLevel)); 3347 } 3348 3349 /* Hook Functions */ 3350 3351 /***************************************************************************** 3352 * Name : BOOL WIN32API SetWindowsHookW 3353 * Purpose : The SetWindowsHook function is not implemented in the Win32 API. 3354 * Win32-based applications should use the SetWindowsHookEx function. 3355 * Parameters: 3356 * Variables : 3357 * Result : 3358 * Remark : ARGH ! MICROSOFT ! 3359 * Status : UNTESTED STUB 3360 * 3361 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 3362 *****************************************************************************/ 3363 HHOOK WIN32API SetWindowsHookW(int nFilterType, HOOKPROC pfnFilterProc) 3364 3365 { 3366 return (FALSE); 3367 } 3368 3369 /* CB: move to ShowWindow() */ 3370 3371 /***************************************************************************** 3372 * Name : BOOL WIN32API ShowWindowAsync 3373 * Purpose : The ShowWindowAsync function sets the show state of a window 3374 * created by a different thread. 3375 * Parameters: HWND hwnd handle of window 3376 * int nCmdShow show state of window 3377 * Variables : 3378 * Result : If the window was previously visible, the return value is TRUE. 3379 * If the window was previously hidden, the return value is FALSE. 3380 * Remark : 3381 * Status : UNTESTED STUB 3382 * 3383 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 3384 *****************************************************************************/ 3385 BOOL WIN32API ShowWindowAsync (HWND hWnd, 3386 int nCmdShow) 3387 { 3388 dprintf(("USER32:ShowWindowAsync (%08xh,%08x) not implemented.\n", 3389 hWnd, 3390 nCmdShow)); 3391 3392 return (FALSE); 3393 } 3394 3395 /* CB: move to MDI */ 3431 3396 3432 3397 /***************************************************************************** … … 3448 3413 * Author : Patrick Haller [Thu, 1998/02/26 11:55] 3449 3414 *****************************************************************************/ 3450 3451 3415 WORD WIN32API TileWindows(HWND hwndParent, 3452 3416 UINT wFlags, … … 3464 3428 return (0); 3465 3429 } 3466 3467 3468 /*****************************************************************************3469 * Name : SHORT WIN32API VkKeyScanExW3470 * Purpose : The VkKeyScanEx function translates a character to the3471 * corresponding virtual-key code and shift state. The function3472 * translates the character using the input language and physical3473 * keyboard layout identified by the given keyboard layout handle.3474 * Parameters: UINT uChar character to translate3475 * HKL hkl keyboard layout handle3476 * Variables :3477 * Result : see docs3478 * Remark :3479 * Status : UNTESTED STUB3480 *3481 * Author : Patrick Haller [Thu, 1998/02/26 11:55]3482 *****************************************************************************/3483 3484 WORD WIN32API VkKeyScanExW(WCHAR uChar,3485 HKL hkl)3486 {3487 dprintf(("USER32:VkKeyScanExW (%u,%08x) not implemented.\n",3488 uChar,3489 hkl));3490 3491 return (uChar);3492 }3493 3494 3495 /*****************************************************************************3496 * Name : SHORT WIN32API VkKeyScanExA3497 * Purpose : The VkKeyScanEx function translates a character to the3498 * corresponding virtual-key code and shift state. The function3499 * translates the character using the input language and physical3500 * keyboard layout identified by the given keyboard layout handle.3501 * Parameters: UINT uChar character to translate3502 * HKL hkl keyboard layout handle3503 * Variables :3504 * Result : see docs3505 * Remark :3506 * Status : UNTESTED STUB3507 *3508 * Author : Patrick Haller [Thu, 1998/02/26 11:55]3509 *****************************************************************************/3510 3511 WORD WIN32API VkKeyScanExA(CHAR uChar,3512 HKL hkl)3513 {3514 dprintf(("USER32:VkKeyScanExA (%u,%08x) not implemented.\n",3515 uChar,3516 hkl));3517 3518 return (uChar);3519 }3520 3521 3522 /*****************************************************************************3523 * Name : BOOL WIN32API SetShellWindow3524 * Purpose : Unknown3525 * Parameters: Unknown3526 * Variables :3527 * Result :3528 * Remark :3529 * Status : UNTESTED UNKNOWN STUB3530 *3531 * Author : Patrick Haller [Wed, 1998/06/16 11:55]3532 *****************************************************************************/3533 3534 BOOL WIN32API SetShellWindow(DWORD x1)3535 {3536 dprintf(("USER32: SetShellWindow(%08x) not implemented.\n",3537 x1));3538 3539 return (FALSE); /* default */3540 }3541 3542 3543 /*****************************************************************************3544 * Name : BOOL WIN32API PlaySoundEvent3545 * Purpose : Unknown3546 * Parameters: Unknown3547 * Variables :3548 * Result :3549 * Remark :3550 * Status : UNTESTED UNKNOWN STUB3551 *3552 * Author : Patrick Haller [Wed, 1998/06/16 11:55]3553 *****************************************************************************/3554 3555 BOOL WIN32API PlaySoundEvent(DWORD x1)3556 {3557 dprintf(("USER32: PlaySoundEvent(%08x) not implemented.\n",3558 x1));3559 3560 return (FALSE); /* default */3561 }3562 3563 3564 3430 /***************************************************************************** 3565 3431 * Name : BOOL WIN32API TileChildWindows … … 3573 3439 * Author : Patrick Haller [Wed, 1998/06/16 11:55] 3574 3440 *****************************************************************************/ 3575 3576 3441 BOOL WIN32API TileChildWindows(DWORD x1, 3577 3442 DWORD x2) … … 3583 3448 return (FALSE); /* default */ 3584 3449 } 3585 3586 3587 /***************************************************************************** 3588 * Name : BOOL WIN32API SetSysColorsTemp 3450 /***************************************************************************** 3451 * Name : BOOL WIN32API CascadeChildWindows 3589 3452 * Purpose : Unknown 3590 3453 * Parameters: Unknown … … 3596 3459 * Author : Patrick Haller [Wed, 1998/06/16 11:55] 3597 3460 *****************************************************************************/ 3598 3599 BOOL WIN32API SetSysColorsTemp(void) 3600 { 3601 dprintf(("USER32: SetSysColorsTemp() not implemented.\n")); 3602 3603 return (FALSE); /* default */ 3604 } 3605 3606 3607 /***************************************************************************** 3608 * Name : BOOL WIN32API RegisterNetworkCapabilities 3609 * Purpose : Unknown 3610 * Parameters: Unknown 3611 * Variables : 3612 * Result : 3613 * Remark : 3614 * Status : UNTESTED UNKNOWN STUB 3615 * 3616 * Author : Patrick Haller [Wed, 1998/06/16 11:55] 3617 *****************************************************************************/ 3618 3619 BOOL WIN32API RegisterNetworkCapabilities(DWORD x1, 3620 DWORD x2) 3621 { 3622 dprintf(("USER32: RegisterNetworkCapabilities(%08xh,%08xh) not implemented.\n", 3461 BOOL WIN32API CascadeChildWindows(DWORD x1, 3462 DWORD x2) 3463 { 3464 dprintf(("USER32: CascadeChildWindows(%08xh,%08xh) not implemented.\n", 3623 3465 x1, 3624 3466 x2)); … … 3627 3469 } 3628 3470 3629 3630 /***************************************************************************** 3631 * Name : BOOL WIN32API EndTask 3632 * Purpose : Unknown 3633 * Parameters: Unknown 3634 * Variables : 3635 * Result : 3636 * Remark : 3637 * Status : UNTESTED UNKNOWN STUB 3638 * 3639 * Author : Patrick Haller [Wed, 1998/06/16 11:55] 3640 *****************************************************************************/ 3641 3642 BOOL WIN32API EndTask(DWORD x1, 3643 DWORD x2, 3644 DWORD x3) 3645 { 3646 dprintf(("USER32: EndTask(%08xh,%08xh,%08xh) not implemented.\n", 3647 x1, 3648 x2, 3649 x3)); 3650 3651 return (FALSE); /* default */ 3652 } 3653 3654 3655 3656 /***************************************************************************** 3657 * Name : BOOL WIN32API GetNextQueueWindow 3658 * Purpose : Unknown 3659 * Parameters: Unknown 3660 * Variables : 3661 * Result : 3662 * Remark : 3663 * Status : UNTESTED UNKNOWN STUB 3664 * 3665 * Author : Patrick Haller [Wed, 1998/06/16 11:55] 3666 *****************************************************************************/ 3667 3668 BOOL WIN32API GetNextQueueWindow(DWORD x1, 3669 DWORD x2) 3670 { 3671 dprintf(("USER32: GetNextQueueWindow(%08xh,%08xh) not implemented.\n", 3672 x1, 3673 x2)); 3674 3675 return (FALSE); /* default */ 3676 } 3677 3678 3679 /***************************************************************************** 3680 * Name : BOOL WIN32API YieldTask 3681 * Purpose : Unknown 3682 * Parameters: Unknown 3683 * Variables : 3684 * Result : 3685 * Remark : 3686 * Status : UNTESTED UNKNOWN STUB 3687 * 3688 * Author : Patrick Haller [Wed, 1998/06/16 11:55] 3689 *****************************************************************************/ 3690 3691 BOOL WIN32API YieldTask(void) 3692 { 3693 dprintf(("USER32: YieldTask() not implemented.\n")); 3694 3695 return (FALSE); /* default */ 3696 } 3697 3698 3699 /***************************************************************************** 3700 * Name : BOOL WIN32API WinOldAppHackoMatic 3701 * Purpose : Unknown 3702 * Parameters: Unknown 3703 * Variables : 3704 * Result : 3705 * Remark : 3706 * Status : UNTESTED UNKNOWN STUB 3707 * 3708 * Author : Patrick Haller [Wed, 1998/06/16 11:55] 3709 *****************************************************************************/ 3710 3711 BOOL WIN32API WinOldAppHackoMatic(DWORD x1) 3712 { 3713 dprintf(("USER32: WinOldAppHackoMatic(%08x) not implemented.\n", 3714 x1)); 3715 3716 return (FALSE); /* default */ 3717 } 3718 3471 /* Drag'n'drop */ 3719 3472 3720 3473 /***************************************************************************** … … 3729 3482 * Author : Patrick Haller [Wed, 1998/06/16 11:55] 3730 3483 *****************************************************************************/ 3731 3732 3484 DWORD WIN32API DragObject(HWND x1,HWND x2,UINT x3,DWORD x4,HCURSOR x5) 3733 3485 { … … 3742 3494 } 3743 3495 3744 3745 /***************************************************************************** 3746 * Name : BOOL WIN32API CascadeChildWindows 3496 /* Unknown */ 3497 3498 /***************************************************************************** 3499 * Name : BOOL WIN32API SetShellWindow 3747 3500 * Purpose : Unknown 3748 3501 * Parameters: Unknown … … 3754 3507 * Author : Patrick Haller [Wed, 1998/06/16 11:55] 3755 3508 *****************************************************************************/ 3756 3757 BOOL WIN32API CascadeChildWindows(DWORD x1, 3758 DWORD x2) 3759 { 3760 dprintf(("USER32: CascadeChildWindows(%08xh,%08xh) not implemented.\n", 3509 BOOL WIN32API SetShellWindow(DWORD x1) 3510 { 3511 dprintf(("USER32: SetShellWindow(%08x) not implemented.\n", 3512 x1)); 3513 3514 return (FALSE); /* default */ 3515 } 3516 /***************************************************************************** 3517 * Name : BOOL WIN32API PlaySoundEvent 3518 * Purpose : Unknown 3519 * Parameters: Unknown 3520 * Variables : 3521 * Result : 3522 * Remark : 3523 * Status : UNTESTED UNKNOWN STUB 3524 * 3525 * Author : Patrick Haller [Wed, 1998/06/16 11:55] 3526 *****************************************************************************/ 3527 BOOL WIN32API PlaySoundEvent(DWORD x1) 3528 { 3529 dprintf(("USER32: PlaySoundEvent(%08x) not implemented.\n", 3530 x1)); 3531 3532 return (FALSE); /* default */ 3533 } 3534 /***************************************************************************** 3535 * Name : BOOL WIN32API SetSysColorsTemp 3536 * Purpose : Unknown 3537 * Parameters: Unknown 3538 * Variables : 3539 * Result : 3540 * Remark : 3541 * Status : UNTESTED UNKNOWN STUB 3542 * 3543 * Author : Patrick Haller [Wed, 1998/06/16 11:55] 3544 *****************************************************************************/ 3545 BOOL WIN32API SetSysColorsTemp(void) 3546 { 3547 dprintf(("USER32: SetSysColorsTemp() not implemented.\n")); 3548 3549 return (FALSE); /* default */ 3550 } 3551 /***************************************************************************** 3552 * Name : BOOL WIN32API RegisterNetworkCapabilities 3553 * Purpose : Unknown 3554 * Parameters: Unknown 3555 * Variables : 3556 * Result : 3557 * Remark : 3558 * Status : UNTESTED UNKNOWN STUB 3559 * 3560 * Author : Patrick Haller [Wed, 1998/06/16 11:55] 3561 *****************************************************************************/ 3562 BOOL WIN32API RegisterNetworkCapabilities(DWORD x1, 3563 DWORD x2) 3564 { 3565 dprintf(("USER32: RegisterNetworkCapabilities(%08xh,%08xh) not implemented.\n", 3761 3566 x1, 3762 3567 x2)); … … 3764 3569 return (FALSE); /* default */ 3765 3570 } 3766 3767 3571 /***************************************************************************** 3572 * Name : BOOL WIN32API EndTask 3573 * Purpose : Unknown 3574 * Parameters: Unknown 3575 * Variables : 3576 * Result : 3577 * Remark : 3578 * Status : UNTESTED UNKNOWN STUB 3579 * 3580 * Author : Patrick Haller [Wed, 1998/06/16 11:55] 3581 *****************************************************************************/ 3582 BOOL WIN32API EndTask(DWORD x1, 3583 DWORD x2, 3584 DWORD x3) 3585 { 3586 dprintf(("USER32: EndTask(%08xh,%08xh,%08xh) not implemented.\n", 3587 x1, 3588 x2, 3589 x3)); 3590 3591 return (FALSE); /* default */ 3592 } 3593 /***************************************************************************** 3594 * Name : BOOL WIN32API GetNextQueueWindow 3595 * Purpose : Unknown 3596 * Parameters: Unknown 3597 * Variables : 3598 * Result : 3599 * Remark : 3600 * Status : UNTESTED UNKNOWN STUB 3601 * 3602 * Author : Patrick Haller [Wed, 1998/06/16 11:55] 3603 *****************************************************************************/ 3604 BOOL WIN32API GetNextQueueWindow(DWORD x1, 3605 DWORD x2) 3606 { 3607 dprintf(("USER32: GetNextQueueWindow(%08xh,%08xh) not implemented.\n", 3608 x1, 3609 x2)); 3610 3611 return (FALSE); /* default */ 3612 } 3613 /***************************************************************************** 3614 * Name : BOOL WIN32API YieldTask 3615 * Purpose : Unknown 3616 * Parameters: Unknown 3617 * Variables : 3618 * Result : 3619 * Remark : 3620 * Status : UNTESTED UNKNOWN STUB 3621 * 3622 * Author : Patrick Haller [Wed, 1998/06/16 11:55] 3623 *****************************************************************************/ 3624 BOOL WIN32API YieldTask(void) 3625 { 3626 dprintf(("USER32: YieldTask() not implemented.\n")); 3627 3628 return (FALSE); /* default */ 3629 } 3630 /***************************************************************************** 3631 * Name : BOOL WIN32API WinOldAppHackoMatic 3632 * Purpose : Unknown 3633 * Parameters: Unknown 3634 * Variables : 3635 * Result : 3636 * Remark : 3637 * Status : UNTESTED UNKNOWN STUB 3638 * 3639 * Author : Patrick Haller [Wed, 1998/06/16 11:55] 3640 *****************************************************************************/ 3641 BOOL WIN32API WinOldAppHackoMatic(DWORD x1) 3642 { 3643 dprintf(("USER32: WinOldAppHackoMatic(%08x) not implemented.\n", 3644 x1)); 3645 3646 return (FALSE); /* default */ 3647 } 3768 3648 /***************************************************************************** 3769 3649 * Name : BOOL WIN32API RegisterSystemThread … … 3777 3657 * Author : Patrick Haller [Wed, 1998/06/16 11:55] 3778 3658 *****************************************************************************/ 3779 3780 3659 BOOL WIN32API RegisterSystemThread(DWORD x1, 3781 3660 DWORD x2) … … 3787 3666 return (FALSE); /* default */ 3788 3667 } 3789 3790 3791 3668 /***************************************************************************** 3792 3669 * Name : BOOL WIN32API IsHungThread … … 3800 3677 * Author : Patrick Haller [Wed, 1998/06/16 11:55] 3801 3678 *****************************************************************************/ 3802 3803 3679 BOOL WIN32API IsHungThread(DWORD x1) 3804 3680 { … … 3808 3684 return (FALSE); /* default */ 3809 3685 } 3810 3811 3812 3813 3686 /***************************************************************************** 3814 3687 * Name : BOOL WIN32API UserSignalProc … … 3822 3695 * Author : Patrick Haller [Wed, 1998/06/16 11:55] 3823 3696 *****************************************************************************/ 3824 3825 3697 BOOL WIN32API UserSignalProc(DWORD x1, 3826 3698 DWORD x2, … … 3836 3708 return (FALSE); /* default */ 3837 3709 } 3838 3839 3840 3710 /***************************************************************************** 3841 3711 * Name : BOOL WIN32API GetShellWindow … … 3849 3719 * Author : Patrick Haller [Wed, 1998/06/16 11:55] 3850 3720 *****************************************************************************/ 3851 3852 3721 HWND WIN32API GetShellWindow(void) 3853 3722 { … … 3856 3725 return (0); /* default */ 3857 3726 } 3858 3859 3860 3861 3727 /*********************************************************************** 3862 3728 * RegisterTasklist32 [USER32.436]
Note:
See TracChangeset
for help on using the changeset viewer.