comparison dwt/internal/win32/OS.d @ 276:240db000bbcd

Load some more WinAPI functions dynamically.
author Frank Benoit <benoit@tionex.de>
date Tue, 05 Aug 2008 00:52:09 +0200
parents 463d461e6e78
children 79a066e09568
comparison
equal deleted inserted replaced
275:9c5ba1f00519 276:240db000bbcd
145 // } 145 // }
146 // 146 //
147 // private static int getNOTIFYICONDATAW_V2_SIZE (){ 147 // private static int getNOTIFYICONDATAW_V2_SIZE (){
148 // return IsWinCE ? NOTIFYICONDATAW.sizeof : cast(int)(&(cast(NOTIFYICONDATAW*)null).dwInfoFlags) + int.sizeof; 148 // return IsWinCE ? NOTIFYICONDATAW.sizeof : cast(int)(&(cast(NOTIFYICONDATAW*)null).dwInfoFlags) + int.sizeof;
149 // } 149 // }
150 // kernel32 winxp/vista
151 public static extern(Windows) {
152 HANDLE function( ACTCTX* pActCtx ) CreateActCtx;
153 BOOL function( HACTCTX hActCtx, uint* lpCookie ) ActivateActCtx;
154 LANGID function() GetSystemDefaultUILanguage;
155 BOOL function(
156 LANGUAGEGROUP_ENUMPROC pLangGroupEnumProc, // callback function
157 DWORD dwFlags, // language groups
158 LONG_PTR lParam // callback parameter
159 )EnumSystemLanguageGroupsA;
160 BOOL function(
161 LANGUAGEGROUP_ENUMPROC pLangGroupEnumProc, // callback function
162 DWORD dwFlags, // language groups
163 LONG_PTR lParam // callback parameter
164 )EnumSystemLanguageGroupsW;
165 BOOL function(
166 LOCALE_ENUMPROC lpLocaleEnumProc, // callback function
167 DWORD dwFlags // locales
168 )EnumSystemLocalesA;
169 BOOL function(
170 LOCALE_ENUMPROC lpLocaleEnumProc, // callback function
171 DWORD dwFlags // locales
172 )EnumSystemLocalesW;
173 }
150 174
151 /* 175 /*
152 * DWT Windows flags 176 * DWT Windows flags
153 */ 177 */
154 public static BOOL IsWin32s; 178 public static BOOL IsWin32s;
2376 alias WINAPI.DrawStateA DrawState; 2400 alias WINAPI.DrawStateA DrawState;
2377 alias WINAPI.DrawTextA DrawText; 2401 alias WINAPI.DrawTextA DrawText;
2378 alias WINAPI.EnumFontFamiliesExA EnumFontFamiliesEx; 2402 alias WINAPI.EnumFontFamiliesExA EnumFontFamiliesEx;
2379 alias WINAPI.EnumFontFamiliesA EnumFontFamilies; 2403 alias WINAPI.EnumFontFamiliesA EnumFontFamilies;
2380 alias WINAPI.EnumSystemLanguageGroupsA EnumSystemLanguageGroups; 2404 alias WINAPI.EnumSystemLanguageGroupsA EnumSystemLanguageGroups;
2381 alias WINAPI.EnumSystemLocalesA EnumSystemLocales; 2405 alias EnumSystemLocalesA EnumSystemLocales;
2382 alias WINAPI.ExpandEnvironmentStringsA ExpandEnvironmentStrings; 2406 alias WINAPI.ExpandEnvironmentStringsA ExpandEnvironmentStrings;
2383 alias WINAPI.ExtTextOutA ExtTextOut; 2407 alias WINAPI.ExtTextOutA ExtTextOut;
2384 alias WINAPI.ExtractIconExA ExtractIconEx; 2408 alias WINAPI.ExtractIconExA ExtractIconEx;
2385 alias WINAPI.FindResourceA FindResource; 2409 alias WINAPI.FindResourceA FindResource;
2386 alias WINAPI.FindWindowA FindWindow; 2410 alias WINAPI.FindWindowA FindWindow;
2481 alias WINAPI.DragQueryFileW DragQueryFile; 2505 alias WINAPI.DragQueryFileW DragQueryFile;
2482 alias WINAPI.DrawStateW DrawState; 2506 alias WINAPI.DrawStateW DrawState;
2483 alias WINAPI.DrawTextW DrawText; 2507 alias WINAPI.DrawTextW DrawText;
2484 alias WINAPI.EnumFontFamiliesExW EnumFontFamiliesEx; 2508 alias WINAPI.EnumFontFamiliesExW EnumFontFamiliesEx;
2485 alias WINAPI.EnumFontFamiliesW EnumFontFamilies; 2509 alias WINAPI.EnumFontFamiliesW EnumFontFamilies;
2486 alias DWTWINAPI.EnumSystemLanguageGroupsW EnumSystemLanguageGroups; 2510 alias EnumSystemLanguageGroupsW EnumSystemLanguageGroups;
2487 alias WINAPI.EnumSystemLocalesW EnumSystemLocales; 2511 alias EnumSystemLocalesW EnumSystemLocales;
2488 alias WINAPI.ExpandEnvironmentStringsW ExpandEnvironmentStrings; 2512 alias WINAPI.ExpandEnvironmentStringsW ExpandEnvironmentStrings;
2489 alias WINAPI.ExtTextOutW ExtTextOut; 2513 alias WINAPI.ExtTextOutW ExtTextOut;
2490 alias DWTWINAPI.ExtractIconExW ExtractIconEx; 2514 alias DWTWINAPI.ExtractIconExW ExtractIconEx;
2491 alias WINAPI.FindResourceW FindResource; 2515 alias WINAPI.FindResourceW FindResource;
2492 alias WINAPI.FindWindowW FindWindow; 2516 alias WINAPI.FindWindowW FindWindow;
2734 2758
2735 static Symbol[] Symbols_CoreImm = [ 2759 static Symbol[] Symbols_CoreImm = [
2736 ]; 2760 ];
2737 2761
2738 // user32.dll vista 2762 // user32.dll vista
2739 public static extern(Windows) BOOL function() SetProcessDPIAware; 2763 public static extern(Windows){
2740 public static extern(Windows) BOOL function( HWND hWnd )IsHungAppWindow; 2764 BOOL function() SetProcessDPIAware;
2765 BOOL function( HWND hWnd )IsHungAppWindow;
2766 }
2767
2741 static Symbol[] Symbols_User32 = [ 2768 static Symbol[] Symbols_User32 = [
2742 { "SetProcessDPIAware", cast(void**)& SetProcessDPIAware, 6, 0 }, 2769 { "SetProcessDPIAware", cast(void**)& SetProcessDPIAware, 6, 0 },
2743 { "GetLayeredWindowAttributes", cast(void**)& GetLayeredWindowAttributes, 5, 1 }, 2770 { "GetLayeredWindowAttributes", cast(void**)& GetLayeredWindowAttributes, 5, 1 },
2744 { "SetLayeredWindowAttributes", cast(void**)& SetLayeredWindowAttributes, 5, 0 }, 2771 { "SetLayeredWindowAttributes", cast(void**)& SetLayeredWindowAttributes, 5, 0 },
2745 { "PrintWindow", cast(void**)& PrintWindow, 5, 0 }, 2772 { "PrintWindow", cast(void**)& PrintWindow, 5, 0 },
2819 { "ImmGetCompositionStringW", cast(void**)& ImmGetCompositionStringW, 5, 1 }, 2846 { "ImmGetCompositionStringW", cast(void**)& ImmGetCompositionStringW, 5, 1 },
2820 { "ImmGetCompositionStringA", cast(void**)& ImmGetCompositionStringA, 5, 1 }, 2847 { "ImmGetCompositionStringA", cast(void**)& ImmGetCompositionStringA, 5, 1 },
2821 { "ImmSetCandidateWindow", cast(void**)& ImmSetCandidateWindow, 5, 1 }, 2848 { "ImmSetCandidateWindow", cast(void**)& ImmSetCandidateWindow, 5, 1 },
2822 ]; 2849 ];
2823 2850
2824 // kernel32 winxp/vista
2825 public static extern(Windows) {
2826 HANDLE function( ACTCTX* pActCtx ) CreateActCtx;
2827 BOOL function( HACTCTX hActCtx, uint* lpCookie ) ActivateActCtx;
2828 LANGID function() GetSystemDefaultUILanguage;
2829 }
2830 version(ANSI){ 2851 version(ANSI){
2831 }else{ 2852 }else{
2832 static Symbol[] Symbols_Kernel32 = [ 2853 static Symbol[] Symbols_Kernel32 = [
2833 { "CreateActCtxW", cast(void**)& CreateActCtx, 5, 1 }, 2854 { "CreateActCtxW", cast(void**)& CreateActCtx, 5, 1 },
2834 { "ActivateActCtx", cast(void**)& ActivateActCtx, 5, 1 }, 2855 { "ActivateActCtx", cast(void**)& ActivateActCtx, 5, 1 },
2835 { "GetSystemDefaultUILanguage", cast(void**)& GetSystemDefaultUILanguage, 5, 0 }, 2856 { "GetSystemDefaultUILanguage", cast(void**)& GetSystemDefaultUILanguage, 5, 0 },
2857 { "EnumSystemLanguageGroupsW", cast(void**)& EnumSystemLanguageGroupsW, 4, 0 },
2858 { "EnumSystemLanguageGroupsA", cast(void**)& EnumSystemLanguageGroupsA, 4, 0 },
2859 { "EnumSystemLocalesW", cast(void**)& EnumSystemLocalesW, 4, 0 },
2860 { "EnumSystemLocalesA", cast(void**)& EnumSystemLocalesA, 4, 0 },
2836 ]; 2861 ];
2837 } 2862 }
2838 2863
2839 2864
2840 //------------------------------------------------------------------------ 2865 //------------------------------------------------------------------------
2952 alias WINAPI.EnumEnhMetaFile EnumEnhMetaFile; 2977 alias WINAPI.EnumEnhMetaFile EnumEnhMetaFile;
2953 alias WINAPI.EnumFontFamiliesA EnumFontFamiliesA; 2978 alias WINAPI.EnumFontFamiliesA EnumFontFamiliesA;
2954 alias WINAPI.EnumFontFamiliesExA EnumFontFamiliesExA; 2979 alias WINAPI.EnumFontFamiliesExA EnumFontFamiliesExA;
2955 alias WINAPI.EnumFontFamiliesExW EnumFontFamiliesExW; 2980 alias WINAPI.EnumFontFamiliesExW EnumFontFamiliesExW;
2956 alias WINAPI.EnumFontFamiliesW EnumFontFamiliesW; 2981 alias WINAPI.EnumFontFamiliesW EnumFontFamiliesW;
2957 alias DWTWINAPI.EnumSystemLanguageGroupsA EnumSystemLanguageGroupsA;
2958 alias DWTWINAPI.EnumSystemLanguageGroupsW EnumSystemLanguageGroupsW;
2959 alias WINAPI.EnumSystemLocalesA EnumSystemLocalesA;
2960 alias DWTWINAPI.EnumSystemLocalesW EnumSystemLocalesW;
2961 alias DWTWINAPI.EqualRect EqualRect; 2982 alias DWTWINAPI.EqualRect EqualRect;
2962 alias WINAPI.EqualRgn EqualRgn; 2983 alias WINAPI.EqualRgn EqualRgn;
2963 alias WINAPI.ExcludeClipRect ExcludeClipRect; 2984 alias WINAPI.ExcludeClipRect ExcludeClipRect;
2964 alias WINAPI.ExpandEnvironmentStringsA ExpandEnvironmentStringsA; 2985 alias WINAPI.ExpandEnvironmentStringsA ExpandEnvironmentStringsA;
2965 alias WINAPI.ExpandEnvironmentStringsW ExpandEnvironmentStringsW; 2986 alias WINAPI.ExpandEnvironmentStringsW ExpandEnvironmentStringsW;