1 #pragma once 2 3 typedef struct 4 { 5 PCWSTR FontName; 6 PCWSTR SubFontName; 7 } MUI_SUBFONT; 8 9 typedef struct 10 { 11 PCWSTR LangID; // Language ID (like "0409") 12 PCWSTR LayoutID; // Layout ID (like "00000409") 13 } MUI_LAYOUTS; 14 15 typedef struct 16 { 17 PCWSTR LanguageID; 18 PCWSTR ACPage; 19 PCWSTR OEMCPage; 20 PCWSTR MACCPage; 21 PCWSTR LanguageDescriptor; 22 PCWSTR GeoID; 23 const MUI_SUBFONT * MuiSubFonts; 24 const MUI_LAYOUTS * MuiLayouts; 25 } MUI_LANGUAGE; 26 27 28 BOOLEAN 29 IsLanguageAvailable( 30 IN PCWSTR LanguageId); 31 32 PCWSTR 33 MUIDefaultKeyboardLayout( 34 IN PCWSTR LanguageId); 35 36 PCWSTR 37 MUIGetOEMCodePage( 38 IN PCWSTR LanguageId); 39 40 PCWSTR 41 MUIGetGeoID( 42 IN PCWSTR LanguageId); 43 44 const MUI_LAYOUTS* 45 MUIGetLayoutsList( 46 IN PCWSTR LanguageId); 47 48 BOOLEAN 49 AddKbLayoutsToRegistry( 50 IN const MUI_LAYOUTS *MuiLayouts); 51 52 BOOLEAN 53 AddKeyboardLayouts( 54 IN PCWSTR LanguageId); 55 56 BOOLEAN 57 AddCodePage( 58 IN PCWSTR LanguageId); 59