[FORMATTING]

Fix indentation and coding style. No code changes!

svn path=/trunk/; revision=63259
This commit is contained in:
Eric Kohl 2014-05-12 16:14:19 +00:00
parent 5da1f1a63b
commit 3def58e0ff
8 changed files with 786 additions and 712 deletions

View file

@ -409,424 +409,424 @@ const MUI_LANGUAGE LanguageList[] =
{ {
/* Lang ID, ANSI CP, OEM CP, MAC CP, Language Name, GeoID page strgs,error strings, other strings, fonts, kb layouts */ /* Lang ID, ANSI CP, OEM CP, MAC CP, Language Name, GeoID page strgs,error strings, other strings, fonts, kb layouts */
#ifdef LANGUAGE_AF_ZA #ifdef LANGUAGE_AF_ZA
{L"00000436", L"1252", L"850", L"10000", L"Afrikaans", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, afZALayouts }, {L"00000436", L"1252", L"850", L"10000", L"Afrikaans", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, afZALayouts },
#endif #endif
#ifdef LANGUAGE_SQ_AL #ifdef LANGUAGE_SQ_AL
{L"0000041C", L"1250", L"852", L"10029", L"Albanian (Albania)", L"355", sqALPages, sqALErrorEntries, sqALStrings, LatinFonts, sqALLayouts }, {L"0000041C", L"1250", L"852", L"10029", L"Albanian (Albania)", L"355", sqALPages, sqALErrorEntries, sqALStrings, LatinFonts, sqALLayouts },
#endif #endif
#ifdef LANGUAGE_AR_SA #ifdef LANGUAGE_AR_SA
{L"00000401", L"1256", L"720", L"10004", L"Arabic (Saudi Arabia)", L"966", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arSALayouts }, {L"00000401", L"1256", L"720", L"10004", L"Arabic (Saudi Arabia)", L"966", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arSALayouts },
#endif #endif
#ifdef LANGUAGE_AR_IQ #ifdef LANGUAGE_AR_IQ
{L"00000801", L"1256", L"720", L"10004", L"Arabic (Iraq)", L"964", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arIQLayouts }, {L"00000801", L"1256", L"720", L"10004", L"Arabic (Iraq)", L"964", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arIQLayouts },
#endif #endif
#ifdef LANGUAGE_AR_EG #ifdef LANGUAGE_AR_EG
{L"00000C01", L"1256", L"720", L"10004", L"Arabic (Egypt)", L"20", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arEGLayouts }, {L"00000C01", L"1256", L"720", L"10004", L"Arabic (Egypt)", L"20", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arEGLayouts },
#endif #endif
#ifdef LANGUAGE_AR_LY #ifdef LANGUAGE_AR_LY
{L"00001001", L"1256", L"720", L"10004", L"Arabic (Libya)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arLYLayouts }, {L"00001001", L"1256", L"720", L"10004", L"Arabic (Libya)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arLYLayouts },
#endif #endif
#ifdef LANGUAGE_AR_DZ #ifdef LANGUAGE_AR_DZ
{L"00001401", L"1256", L"720", L"10004", L"Arabic (Algeria)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arDZLayouts }, {L"00001401", L"1256", L"720", L"10004", L"Arabic (Algeria)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arDZLayouts },
#endif #endif
#ifdef LANGUAGE_AR_MA #ifdef LANGUAGE_AR_MA
{L"00001801", L"1256", L"720", L"10004", L"Arabic (Morocco)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arMALayouts }, {L"00001801", L"1256", L"720", L"10004", L"Arabic (Morocco)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arMALayouts },
#endif #endif
#ifdef LANGUAGE_AR_TN #ifdef LANGUAGE_AR_TN
{L"00001C01", L"1256", L"720", L"10004", L"Arabic (Tunisia)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arTNLayouts }, {L"00001C01", L"1256", L"720", L"10004", L"Arabic (Tunisia)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arTNLayouts },
#endif #endif
#ifdef LANGUAGE_AR_OM #ifdef LANGUAGE_AR_OM
{L"00002001", L"1256", L"720", L"10004", L"Arabic (Oman)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arOMLayouts }, {L"00002001", L"1256", L"720", L"10004", L"Arabic (Oman)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arOMLayouts },
#endif #endif
#ifdef LANGUAGE_AR_YE #ifdef LANGUAGE_AR_YE
{L"00002401", L"1256", L"720", L"10004", L"Arabic (Yemen)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arYELayouts }, {L"00002401", L"1256", L"720", L"10004", L"Arabic (Yemen)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arYELayouts },
#endif #endif
#ifdef LANGUAGE_AR_SY #ifdef LANGUAGE_AR_SY
{L"00002801", L"1256", L"720", L"10004", L"Arabic (Syria)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arSYLayouts }, {L"00002801", L"1256", L"720", L"10004", L"Arabic (Syria)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arSYLayouts },
#endif #endif
#ifdef LANGUAGE_AR_JO #ifdef LANGUAGE_AR_JO
{L"00002C01", L"1256", L"720", L"10004", L"Arabic (Jordan)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arJOLayouts }, {L"00002C01", L"1256", L"720", L"10004", L"Arabic (Jordan)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arJOLayouts },
#endif #endif
#ifdef LANGUAGE_AR_LB #ifdef LANGUAGE_AR_LB
{L"00003001", L"1256", L"720", L"10004", L"Arabic (Lebanon)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arLBLayouts }, {L"00003001", L"1256", L"720", L"10004", L"Arabic (Lebanon)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arLBLayouts },
#endif #endif
#ifdef LANGUAGE_AR_KW #ifdef LANGUAGE_AR_KW
{L"00003401", L"1256", L"720", L"10004", L"Arabic (Kuwait)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arKWLayouts }, {L"00003401", L"1256", L"720", L"10004", L"Arabic (Kuwait)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arKWLayouts },
#endif #endif
#ifdef LANGUAGE_AR_AE #ifdef LANGUAGE_AR_AE
{L"00003801", L"1256", L"720", L"10004", L"Arabic (U.A.E.)", L"971", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arAELayouts }, {L"00003801", L"1256", L"720", L"10004", L"Arabic (U.A.E.)", L"971", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arAELayouts },
#endif #endif
#ifdef LANGUAGE_AR_BH #ifdef LANGUAGE_AR_BH
{L"00003C01", L"1256", L"720", L"10004", L"Arabic (Bahrain)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arBHLayouts }, {L"00003C01", L"1256", L"720", L"10004", L"Arabic (Bahrain)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arBHLayouts },
#endif #endif
#ifdef LANGUAGE_AR_QA #ifdef LANGUAGE_AR_QA
{L"00004001", L"1256", L"720", L"10004", L"Arabic (Qatar)", L"974", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arQALayouts }, {L"00004001", L"1256", L"720", L"10004", L"Arabic (Qatar)", L"974", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, arQALayouts },
#endif #endif
#ifdef LANGUAGE_HY_AM #ifdef LANGUAGE_HY_AM
{L"0000042B", L"0", L"1", L"2", L"Armenian", L"374", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, hyAMLayouts }, {L"0000042B", L"0", L"1", L"2", L"Armenian", L"374", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, hyAMLayouts },
#endif #endif
#ifdef LANGUAGE_AZ_AZ #ifdef LANGUAGE_AZ_AZ
{L"0000082C", L"1251", L"866", L"10007", L"Azeri (Cyrillic)", L"1", enUSPages, enUSErrorEntries, enUSStrings, CyrillicFonts, azAZLayouts }, {L"0000082C", L"1251", L"866", L"10007", L"Azeri (Cyrillic)", L"1", enUSPages, enUSErrorEntries, enUSStrings, CyrillicFonts, azAZLayouts },
#endif #endif
#ifdef LANGUAGE_AZ_AZ #ifdef LANGUAGE_AZ_AZ
{L"0000042C", L"1254", L"857", L"10081", L"Azeri (Latin)", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, azAZLayouts }, {L"0000042C", L"1254", L"857", L"10081", L"Azeri (Latin)", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, azAZLayouts },
#endif #endif
#ifdef LANGUAGE_EU_ES #ifdef LANGUAGE_EU_ES
{L"0000042D", L"1252", L"850", L"10000", L"Basque", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, euESLayouts }, {L"0000042D", L"1252", L"850", L"10000", L"Basque", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, euESLayouts },
#endif #endif
#ifdef LANGUAGE_BE_BY #ifdef LANGUAGE_BE_BY
{L"00000423", L"1251", L"866", L"10007", L"Belarusian", L"1", enUSPages, enUSErrorEntries, enUSStrings, CyrillicFonts, beBYLayouts }, {L"00000423", L"1251", L"866", L"10007", L"Belarusian", L"1", enUSPages, enUSErrorEntries, enUSStrings, CyrillicFonts, beBYLayouts },
#endif #endif
#ifdef LANGUAGE_BG_BG #ifdef LANGUAGE_BG_BG
{L"00000402", L"1251", L"866", L"10007", L"Bulgarian", L"359", bgBGPages, bgBGErrorEntries, bgBGStrings, CyrillicFonts, bgBGLayouts }, {L"00000402", L"1251", L"866", L"10007", L"Bulgarian", L"359", bgBGPages, bgBGErrorEntries, bgBGStrings, CyrillicFonts, bgBGLayouts },
#endif #endif
#ifdef LANGUAGE_MY_MM #ifdef LANGUAGE_MY_MM
{L"00000455", L"0", L"1", L"2", L"Burmese", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, myMMLayouts }, {L"00000455", L"0", L"1", L"2", L"Burmese", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, myMMLayouts },
#endif #endif
#ifdef LANGUAGE_CA_ES #ifdef LANGUAGE_CA_ES
{L"00000403", L"1252", L"850", L"10000", L"Catalan", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, caESLayouts }, {L"00000403", L"1252", L"850", L"10000", L"Catalan", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, caESLayouts },
#endif #endif
#ifdef LANGUAGE_ZH_TW #ifdef LANGUAGE_ZH_TW
{L"00000404", L"950", L"950", L"10008", L"Chinese (Taiwan)", L"886", enUSPages, enUSErrorEntries, enUSStrings, CJKFonts, zhTWLayouts }, {L"00000404", L"950", L"950", L"10008", L"Chinese (Taiwan)", L"886", enUSPages, enUSErrorEntries, enUSStrings, CJKFonts, zhTWLayouts },
#endif #endif
#ifdef LANGUAGE_ZH_CN #ifdef LANGUAGE_ZH_CN
{L"00000804", L"936", L"936", L"10008", L"Chinese (PRC)", L"86", enUSPages, enUSErrorEntries, enUSStrings, CJKFonts, zhCNLayouts }, {L"00000804", L"936", L"936", L"10008", L"Chinese (PRC)", L"86", enUSPages, enUSErrorEntries, enUSStrings, CJKFonts, zhCNLayouts },
#endif #endif
#ifdef LANGUAGE_ZH_HK #ifdef LANGUAGE_ZH_HK
{L"00000C04", L"950", L"950", L"10008", L"Chinese (Hong Kong S.A.R.)", L"1", enUSPages, enUSErrorEntries, enUSStrings, CJKFonts, zhHKLayouts }, {L"00000C04", L"950", L"950", L"10008", L"Chinese (Hong Kong S.A.R.)", L"1", enUSPages, enUSErrorEntries, enUSStrings, CJKFonts, zhHKLayouts },
#endif #endif
#ifdef LANGUAGE_ZH_SG #ifdef LANGUAGE_ZH_SG
{L"00001004", L"936", L"936", L"10008", L"Chinese (Singapore)", L"1", enUSPages, enUSErrorEntries, enUSStrings, CJKFonts, zhSGLayouts }, {L"00001004", L"936", L"936", L"10008", L"Chinese (Singapore)", L"1", enUSPages, enUSErrorEntries, enUSStrings, CJKFonts, zhSGLayouts },
#endif #endif
#ifdef LANGUAGE_ZH_MO #ifdef LANGUAGE_ZH_MO
{L"00001404", L"950", L"950", L"10002", L"Chinese (Macau S.A.R.)", L"1", enUSPages, enUSErrorEntries, enUSStrings, CJKFonts, zhMOLayouts }, {L"00001404", L"950", L"950", L"10002", L"Chinese (Macau S.A.R.)", L"1", enUSPages, enUSErrorEntries, enUSStrings, CJKFonts, zhMOLayouts },
#endif #endif
#ifdef LANGUAGE_HR_HR #ifdef LANGUAGE_HR_HR
{L"0000041A", L"1250", L"852", L"10029", L"Croatian", L"385", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, hrHRLayouts }, {L"0000041A", L"1250", L"852", L"10029", L"Croatian", L"385", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, hrHRLayouts },
#endif #endif
#ifdef LANGUAGE_CS_CZ #ifdef LANGUAGE_CS_CZ
{L"00000405", L"1250", L"852", L"10029", L"Czech", L"420", csCZPages, csCZErrorEntries, csCZStrings, LatinFonts, csCZLayouts }, {L"00000405", L"1250", L"852", L"10029", L"Czech", L"420", csCZPages, csCZErrorEntries, csCZStrings, LatinFonts, csCZLayouts },
#endif #endif
#ifdef LANGUAGE_DA_DK #ifdef LANGUAGE_DA_DK
{L"00000406", L"1252", L"850", L"10000", L"Danish", L"45", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, daDKLayouts }, {L"00000406", L"1252", L"850", L"10000", L"Danish", L"45", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, daDKLayouts },
#endif #endif
#ifdef LANGUAGE_DV_MV #ifdef LANGUAGE_DV_MV
{L"00000465", L"0", L"1", L"2", L"Dhivehi (Maldives)", L"960", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, dvMVLayouts }, {L"00000465", L"0", L"1", L"2", L"Dhivehi (Maldives)", L"960", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, dvMVLayouts },
#endif #endif
#ifdef LANGUAGE_NL_NL #ifdef LANGUAGE_NL_NL
{L"00000413", L"1252", L"850", L"10000", L"Dutch (Netherlands)", L"31", nlNLPages, nlNLErrorEntries, nlNLStrings, LatinFonts, nlNLLayouts }, {L"00000413", L"1252", L"850", L"10000", L"Dutch (Netherlands)", L"31", nlNLPages, nlNLErrorEntries, nlNLStrings, LatinFonts, nlNLLayouts },
#endif #endif
#ifdef LANGUAGE_NL_BE #ifdef LANGUAGE_NL_BE
{L"00000813", L"1252", L"850", L"10000", L"Dutch (Belgium)", L"32", nlNLPages, nlNLErrorEntries, nlNLStrings, LatinFonts, nlBELayouts }, {L"00000813", L"1252", L"850", L"10000", L"Dutch (Belgium)", L"32", nlNLPages, nlNLErrorEntries, nlNLStrings, LatinFonts, nlBELayouts },
#endif #endif
#ifdef LANGUAGE_EN_US #ifdef LANGUAGE_EN_US
{L"00000409", L"1252", L"437", L"10000", L"English (United States)", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enUSLayouts }, {L"00000409", L"1252", L"437", L"10000", L"English (United States)", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enUSLayouts },
#endif #endif
#ifdef LANGUAGE_EN_GB #ifdef LANGUAGE_EN_GB
{L"00000809", L"1252", L"850", L"10000", L"English (United Kingdom)", L"44", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enGBLayouts }, {L"00000809", L"1252", L"850", L"10000", L"English (United Kingdom)", L"44", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enGBLayouts },
#endif #endif
#ifdef LANGUAGE_EN_AU #ifdef LANGUAGE_EN_AU
{L"00000C09", L"1252", L"850", L"10000", L"English (Australia)", L"61", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enAULayouts }, {L"00000C09", L"1252", L"850", L"10000", L"English (Australia)", L"61", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enAULayouts },
#endif #endif
#ifdef LANGUAGE_EN_CA #ifdef LANGUAGE_EN_CA
{L"00001009", L"1252", L"850", L"10000", L"English (Canada)", L"107", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enCALayouts }, {L"00001009", L"1252", L"850", L"10000", L"English (Canada)", L"107", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enCALayouts },
#endif #endif
#ifdef LANGUAGE_EN_NZ #ifdef LANGUAGE_EN_NZ
{L"00001409", L"1252", L"850", L"10000", L"English (New Zealand)", L"64", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enNZLayouts }, {L"00001409", L"1252", L"850", L"10000", L"English (New Zealand)", L"64", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enNZLayouts },
#endif #endif
#ifdef LANGUAGE_EN_IE #ifdef LANGUAGE_EN_IE
{L"00001809", L"1252", L"850", L"10000", L"English (Ireland)", L"353", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enIELayouts }, {L"00001809", L"1252", L"850", L"10000", L"English (Ireland)", L"353", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enIELayouts },
#endif #endif
#ifdef LANGUAGE_EN_ZA #ifdef LANGUAGE_EN_ZA
{L"00001C09", L"1252", L"437", L"10000", L"English (South Africa)", L"27", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enZALayouts }, {L"00001C09", L"1252", L"437", L"10000", L"English (South Africa)", L"27", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enZALayouts },
#endif #endif
#ifdef LANGUAGE_EN_JM #ifdef LANGUAGE_EN_JM
{L"00002009", L"1252", L"850", L"10000", L"English (Jamaica)", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enJMLayouts }, {L"00002009", L"1252", L"850", L"10000", L"English (Jamaica)", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enJMLayouts },
#endif #endif
#ifdef LANGUAGE_EN_CB #ifdef LANGUAGE_EN_CB
{L"00002409", L"1252", L"850", L"10000", L"English (Caribbean)", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enCBLayouts }, {L"00002409", L"1252", L"850", L"10000", L"English (Caribbean)", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enCBLayouts },
#endif #endif
#ifdef LANGUAGE_EN_BZ #ifdef LANGUAGE_EN_BZ
{L"00002809", L"1252", L"850", L"10000", L"English (Belize)", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enBZLayouts }, {L"00002809", L"1252", L"850", L"10000", L"English (Belize)", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enBZLayouts },
#endif #endif
#ifdef LANGUAGE_EN_TT #ifdef LANGUAGE_EN_TT
{L"00002C09", L"1252", L"850", L"10000", L"English (Trinidad)", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enTTLayouts }, {L"00002C09", L"1252", L"850", L"10000", L"English (Trinidad)", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enTTLayouts },
#endif #endif
#ifdef LANGUAGE_EN_ZW #ifdef LANGUAGE_EN_ZW
{L"00003009", L"1252", L"437", L"10000", L"English (Zimbabwe)", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enZWLayouts }, {L"00003009", L"1252", L"437", L"10000", L"English (Zimbabwe)", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enZWLayouts },
#endif #endif
#ifdef LANGUAGE_EN_PH #ifdef LANGUAGE_EN_PH
{L"00003409", L"1252", L"437", L"10000", L"English (Philippines)", L"63", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enPHLayouts }, {L"00003409", L"1252", L"437", L"10000", L"English (Philippines)", L"63", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, enPHLayouts },
#endif #endif
#ifdef LANGUAGE_EO_AA #ifdef LANGUAGE_EO_AA
{L"0000048F", L"1252", L"437", L"10000", L"Esperanto", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, eoAALayouts }, {L"0000048F", L"1252", L"437", L"10000", L"Esperanto", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, eoAALayouts },
#endif #endif
#ifdef LANGUAGE_ET_EE #ifdef LANGUAGE_ET_EE
{L"00000425", L"1252", L"775", L"10029", L"Estonian", L"372", etEEPages, etEEErrorEntries, etEEStrings, LatinFonts, etEELayouts }, {L"00000425", L"1252", L"775", L"10029", L"Estonian", L"372", etEEPages, etEEErrorEntries, etEEStrings, LatinFonts, etEELayouts },
#endif #endif
#ifdef LANGUAGE_FO_FO #ifdef LANGUAGE_FO_FO
{L"00000438", L"1252", L"850", L"10079", L"Faeroese", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, foFOLayouts }, {L"00000438", L"1252", L"850", L"10079", L"Faeroese", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, foFOLayouts },
#endif #endif
#ifdef LANGUAGE_FA_IR #ifdef LANGUAGE_FA_IR
{L"00000429", L"1256", L"720", L"10004", L"Farsi", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, faIRLayouts }, {L"00000429", L"1256", L"720", L"10004", L"Farsi", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, faIRLayouts },
#endif #endif
#ifdef LANGUAGE_FI_FI #ifdef LANGUAGE_FI_FI
{L"0000040B", L"1252", L"850", L"10000", L"Finnish", L"358", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, fiFILayouts }, {L"0000040B", L"1252", L"850", L"10000", L"Finnish", L"358", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, fiFILayouts },
#endif #endif
#ifdef LANGUAGE_FR_CA #ifdef LANGUAGE_FR_CA
{L"00000C0C", L"1252", L"850", L"10000", L"French (Canada)", L"107", frFRPages, frFRErrorEntries, frFRStrings, LatinFonts, frCALayouts }, {L"00000C0C", L"1252", L"850", L"10000", L"French (Canada)", L"107", frFRPages, frFRErrorEntries, frFRStrings, LatinFonts, frCALayouts },
#endif #endif
#ifdef LANGUAGE_FR_FR #ifdef LANGUAGE_FR_FR
{L"0000040C", L"1252", L"850", L"10000", L"French (France)", L"33", frFRPages, frFRErrorEntries, frFRStrings, LatinFonts, frFRLayouts }, {L"0000040C", L"1252", L"850", L"10000", L"French (France)", L"33", frFRPages, frFRErrorEntries, frFRStrings, LatinFonts, frFRLayouts },
#endif #endif
#ifdef LANGUAGE_FR_BE #ifdef LANGUAGE_FR_BE
{L"0000080C", L"1252", L"850", L"10000", L"French (Belgium)", L"32", frFRPages, frFRErrorEntries, frFRStrings, LatinFonts, frBELayouts }, {L"0000080C", L"1252", L"850", L"10000", L"French (Belgium)", L"32", frFRPages, frFRErrorEntries, frFRStrings, LatinFonts, frBELayouts },
#endif #endif
#ifdef LANGUAGE_FR_CH #ifdef LANGUAGE_FR_CH
{L"0000100C", L"1252", L"850", L"10000", L"French (Switzerland)", L"41", frFRPages, frFRErrorEntries, frFRStrings, LatinFonts, frCHLayouts }, {L"0000100C", L"1252", L"850", L"10000", L"French (Switzerland)", L"41", frFRPages, frFRErrorEntries, frFRStrings, LatinFonts, frCHLayouts },
#endif #endif
#ifdef LANGUAGE_FR_LU #ifdef LANGUAGE_FR_LU
{L"0000140C", L"1252", L"850", L"10000", L"French (Luxembourg)", L"352", frFRPages, frFRErrorEntries, frFRStrings, LatinFonts, frLULayouts }, {L"0000140C", L"1252", L"850", L"10000", L"French (Luxembourg)", L"352", frFRPages, frFRErrorEntries, frFRStrings, LatinFonts, frLULayouts },
#endif #endif
#ifdef LANGUAGE_FR_MC #ifdef LANGUAGE_FR_MC
{L"0000180C", L"1252", L"850", L"10000", L"French (Monaco)", L"1", frFRPages, frFRErrorEntries, frFRStrings, LatinFonts, frMCLayouts }, {L"0000180C", L"1252", L"850", L"10000", L"French (Monaco)", L"1", frFRPages, frFRErrorEntries, frFRStrings, LatinFonts, frMCLayouts },
#endif #endif
#ifdef LANGUAGE_GL_ES #ifdef LANGUAGE_GL_ES
{L"00000456", L"1252", L"850", L"10000", L"Galician (Spain)", L"34", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, glESLayouts }, {L"00000456", L"1252", L"850", L"10000", L"Galician (Spain)", L"34", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, glESLayouts },
#endif #endif
#ifdef LANGUAGE_KA_GE #ifdef LANGUAGE_KA_GE
{L"00000437", L"0", L"1", L"2", L"Georgian", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, kaGELayouts }, {L"00000437", L"0", L"1", L"2", L"Georgian", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, kaGELayouts },
#endif #endif
#ifdef LANGUAGE_DE_DE #ifdef LANGUAGE_DE_DE
{L"00000407", L"1252", L"850", L"10000", L"German (Germany)", L"49", deDEPages, deDEErrorEntries, deDEStrings, LatinFonts, deDELayouts }, {L"00000407", L"1252", L"850", L"10000", L"German (Germany)", L"49", deDEPages, deDEErrorEntries, deDEStrings, LatinFonts, deDELayouts },
#endif #endif
#ifdef LANGUAGE_DE_CH #ifdef LANGUAGE_DE_CH
{L"00000807", L"1252", L"850", L"10000", L"German (Switzerland)", L"41", deDEPages, deDEErrorEntries, deDEStrings, LatinFonts, deCHLayouts }, {L"00000807", L"1252", L"850", L"10000", L"German (Switzerland)", L"41", deDEPages, deDEErrorEntries, deDEStrings, LatinFonts, deCHLayouts },
#endif #endif
#ifdef LANGUAGE_DE_AT #ifdef LANGUAGE_DE_AT
{L"00000C07", L"1252", L"850", L"10000", L"German (Austria)", L"43", deDEPages, deDEErrorEntries, deDEStrings, LatinFonts, deATLayouts }, {L"00000C07", L"1252", L"850", L"10000", L"German (Austria)", L"43", deDEPages, deDEErrorEntries, deDEStrings, LatinFonts, deATLayouts },
#endif #endif
#ifdef LANGUAGE_DE_LU #ifdef LANGUAGE_DE_LU
{L"00001007", L"1252", L"850", L"10000", L"German (Luxembourg)", L"352", deDEPages, deDEErrorEntries, deDEStrings, LatinFonts, deLULayouts }, {L"00001007", L"1252", L"850", L"10000", L"German (Luxembourg)", L"352", deDEPages, deDEErrorEntries, deDEStrings, LatinFonts, deLULayouts },
#endif #endif
#ifdef LANGUAGE_DE_LI #ifdef LANGUAGE_DE_LI
{L"00001407", L"1252", L"850", L"10000", L"German (Liechtenstein)", L"423", deDEPages, deDEErrorEntries, deDEStrings, LatinFonts, deLILayouts }, {L"00001407", L"1252", L"850", L"10000", L"German (Liechtenstein)", L"423", deDEPages, deDEErrorEntries, deDEStrings, LatinFonts, deLILayouts },
#endif #endif
#ifdef LANGUAGE_EL_GR #ifdef LANGUAGE_EL_GR
{L"00000408", L"1253", L"737", L"10006", L"Greek", L"30", elGRPages, elGRErrorEntries, elGRStrings, GreekFonts, elGRLayouts }, {L"00000408", L"1253", L"737", L"10006", L"Greek", L"30", elGRPages, elGRErrorEntries, elGRStrings, GreekFonts, elGRLayouts },
#endif #endif
#ifdef LANGUAGE_GU_IN #ifdef LANGUAGE_GU_IN
{L"00000447", L"0", L"1", L"2", L"Gujarati (India)", L"91", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, guINLayouts }, {L"00000447", L"0", L"1", L"2", L"Gujarati (India)", L"91", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, guINLayouts },
#endif #endif
#ifdef LANGUAGE_HE_IL #ifdef LANGUAGE_HE_IL
{L"0000040D", L"1255", L"862", L"10005", L"Hebrew", L"1", heILPages, heILErrorEntries, heILStrings, HebrewFonts, heILLayouts }, {L"0000040D", L"1255", L"862", L"10005", L"Hebrew", L"1", heILPages, heILErrorEntries, heILStrings, HebrewFonts, heILLayouts },
#endif #endif
#ifdef LANGUAGE_HI_IN #ifdef LANGUAGE_HI_IN
{L"00000439", L"1252", L"437", L"10000", L"Hindi", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, hiINLayouts }, {L"00000439", L"1252", L"437", L"10000", L"Hindi", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, hiINLayouts },
#endif #endif
#ifdef LANGUAGE_HU_HU #ifdef LANGUAGE_HU_HU
{L"0000040E", L"1250", L"852", L"10029", L"Hungarian", L"36", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, huHULayouts }, {L"0000040E", L"1250", L"852", L"10029", L"Hungarian", L"36", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, huHULayouts },
#endif #endif
#ifdef LANGUAGE_IS_IS #ifdef LANGUAGE_IS_IS
{L"0000040F", L"1252", L"850", L"10079", L"Icelandic", L"354", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, isISLayouts }, {L"0000040F", L"1252", L"850", L"10079", L"Icelandic", L"354", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, isISLayouts },
#endif #endif
#ifdef LANGUAGE_ID_ID #ifdef LANGUAGE_ID_ID
{L"00000421", L"1252", L"850", L"10079", L"Indonesian", L"62", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, idIDLayouts }, {L"00000421", L"1252", L"850", L"10079", L"Indonesian", L"62", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, idIDLayouts },
#endif #endif
#ifdef LANGUAGE_IT_IT #ifdef LANGUAGE_IT_IT
{L"00000410", L"1252", L"850", L"10000", L"Italian (Italy)", L"39", itITPages, itITErrorEntries, itITStrings, LatinFonts, itITLayouts }, {L"00000410", L"1252", L"850", L"10000", L"Italian (Italy)", L"39", itITPages, itITErrorEntries, itITStrings, LatinFonts, itITLayouts },
#endif #endif
#ifdef LANGUAGE_IT_CH #ifdef LANGUAGE_IT_CH
{L"00000810", L"1252", L"850", L"10000", L"Italian (Switzerland)", L"41", itITPages, itITErrorEntries, itITStrings, LatinFonts, itCHLayouts }, {L"00000810", L"1252", L"850", L"10000", L"Italian (Switzerland)", L"41", itITPages, itITErrorEntries, itITStrings, LatinFonts, itCHLayouts },
#endif #endif
#ifdef LANGUAGE_JA_JP #ifdef LANGUAGE_JA_JP
{L"00000411", L"932", L"932", L"10001", L"Japanese", L"81", jaJPPages, jaJPErrorEntries, jaJPStrings, CJKFonts, jaJPLayouts }, {L"00000411", L"932", L"932", L"10001", L"Japanese", L"81", jaJPPages, jaJPErrorEntries, jaJPStrings, CJKFonts, jaJPLayouts },
#endif #endif
#ifdef LANGUAGE_KN_IN #ifdef LANGUAGE_KN_IN
{L"0000044B", L"1252", L"437", L"10079", L"Kannada (India)", L"91", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, knINLayouts }, {L"0000044B", L"1252", L"437", L"10079", L"Kannada (India)", L"91", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, knINLayouts },
#endif #endif
#ifdef LANGUAGE_KK_KZ #ifdef LANGUAGE_KK_KZ
{L"0000043F", L"1251", L"866", L"10007", L"Kazakh", L"705", enUSPages, enUSErrorEntries, enUSStrings, CyrillicFonts, kkKZLayouts }, {L"0000043F", L"1251", L"866", L"10007", L"Kazakh", L"705", enUSPages, enUSErrorEntries, enUSStrings, CyrillicFonts, kkKZLayouts },
#endif #endif
#ifdef LANGUAGE_KOK_IN #ifdef LANGUAGE_KOK_IN
{L"00000457", L"0", L"437", L"2", L"Konkani", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, kokINLayouts}, {L"00000457", L"0", L"437", L"2", L"Konkani", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, kokINLayouts},
#endif #endif
#ifdef LANGUAGE_KO_KR #ifdef LANGUAGE_KO_KR
{L"00000412", L"949", L"949", L"10003", L"Korean", L"1", enUSPages, enUSErrorEntries, enUSStrings, CJKFonts, koKRLayouts }, {L"00000412", L"949", L"949", L"10003", L"Korean", L"1", enUSPages, enUSErrorEntries, enUSStrings, CJKFonts, koKRLayouts },
#endif #endif
#ifdef LANGUAGE_KY_KG #ifdef LANGUAGE_KY_KG
{L"00000440", L"1251", L"866", L"10007", L"Kyrgyz (Kyrgyzstan)", L"1", enUSPages, enUSErrorEntries, enUSStrings, CyrillicFonts, kyKGLayouts }, {L"00000440", L"1251", L"866", L"10007", L"Kyrgyz (Kyrgyzstan)", L"1", enUSPages, enUSErrorEntries, enUSStrings, CyrillicFonts, kyKGLayouts },
#endif #endif
#ifdef LANGUAGE_LV_LV #ifdef LANGUAGE_LV_LV
{L"00000426", L"1257", L"775", L"10029", L"Latvian", L"371", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, lvLVLayouts }, {L"00000426", L"1257", L"775", L"10029", L"Latvian", L"371", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, lvLVLayouts },
#endif #endif
#ifdef LANGUAGE_LT_LT #ifdef LANGUAGE_LT_LT
{L"00000427", L"1257", L"775", L"10029", L"Lithuanian", L"370", ltLTPages, ltLTErrorEntries, ltLTStrings, LatinFonts, ltLTLayouts }, {L"00000427", L"1257", L"775", L"10029", L"Lithuanian", L"370", ltLTPages, ltLTErrorEntries, ltLTStrings, LatinFonts, ltLTLayouts },
#endif #endif
#ifdef LANGUAGE_MK_MK #ifdef LANGUAGE_MK_MK
{L"0000042F", L"1251", L"866", L"10007", L"FYRO Macedonian", L"1", enUSPages, enUSErrorEntries, enUSStrings, CyrillicFonts, mkMKLayouts }, {L"0000042F", L"1251", L"866", L"10007", L"FYRO Macedonian", L"1", enUSPages, enUSErrorEntries, enUSStrings, CyrillicFonts, mkMKLayouts },
#endif #endif
#ifdef LANGUAGE_MS_BN #ifdef LANGUAGE_MS_BN
{L"0000083E", L"1252", L"850", L"10000", L"Malay (Brunei Darussalam)", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, msBNLayouts }, {L"0000083E", L"1252", L"850", L"10000", L"Malay (Brunei Darussalam)", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, msBNLayouts },
#endif #endif
#ifdef LANGUAGE_MS_MY #ifdef LANGUAGE_MS_MY
{L"0000043E", L"1252", L"850", L"10000", L"Malay (Malaysia)", L"60", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, msMYLayouts }, {L"0000043E", L"1252", L"850", L"10000", L"Malay (Malaysia)", L"60", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, msMYLayouts },
#endif #endif
#ifdef LANGUAGE_MR_IN #ifdef LANGUAGE_MR_IN
{L"0000044E", L"0", L"1", L"2", L"Marathi", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, mrINLayouts }, {L"0000044E", L"0", L"1", L"2", L"Marathi", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, mrINLayouts },
#endif #endif
#ifdef LANGUAGE_MN_MN #ifdef LANGUAGE_MN_MN
{L"00000450", L"1251", L"866", L"10007", L"Mongolian (Mongolia)", L"976", enUSPages, enUSErrorEntries, enUSStrings, CyrillicFonts, mnMNLayouts }, {L"00000450", L"1251", L"866", L"10007", L"Mongolian (Mongolia)", L"976", enUSPages, enUSErrorEntries, enUSStrings, CyrillicFonts, mnMNLayouts },
#endif #endif
#ifdef LANGUAGE_NB_NO #ifdef LANGUAGE_NB_NO
{L"00000414", L"1252", L"850", L"10000", L"Norwegian (Bokmal)", L"47", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, nbNOLayouts }, {L"00000414", L"1252", L"850", L"10000", L"Norwegian (Bokmal)", L"47", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, nbNOLayouts },
#endif #endif
#ifdef LANGUAGE_NN_NO #ifdef LANGUAGE_NN_NO
{L"00000814", L"1252", L"850", L"10000", L"Norwegian (Nynorsk)", L"47", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, nnNOLayouts }, {L"00000814", L"1252", L"850", L"10000", L"Norwegian (Nynorsk)", L"47", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, nnNOLayouts },
#endif #endif
#ifdef LANGUAGE_PL_PL #ifdef LANGUAGE_PL_PL
{L"00000415", L"1250", L"852", L"10029", L"Polish", L"48", plPLPages, plPLErrorEntries, plPLStrings, LatinFonts, plPLLayouts }, {L"00000415", L"1250", L"852", L"10029", L"Polish", L"48", plPLPages, plPLErrorEntries, plPLStrings, LatinFonts, plPLLayouts },
#endif #endif
#ifdef LANGUAGE_PT_PT #ifdef LANGUAGE_PT_PT
{L"00000816", L"1252", L"850", L"10000", L"Portuguese (Portugal)", L"351", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, ptPTLayouts }, {L"00000816", L"1252", L"850", L"10000", L"Portuguese (Portugal)", L"351", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, ptPTLayouts },
#endif #endif
#ifdef LANGUAGE_PT_BR #ifdef LANGUAGE_PT_BR
{L"00000416", L"1252", L"850", L"10000", L"Portuguese (Brazil)", L"55", ptBRPages, ptBRErrorEntries, ptBRStrings, LatinFonts, ptBRLayouts }, {L"00000416", L"1252", L"850", L"10000", L"Portuguese (Brazil)", L"55", ptBRPages, ptBRErrorEntries, ptBRStrings, LatinFonts, ptBRLayouts },
#endif #endif
#ifdef LANGUAGE_PA_IN #ifdef LANGUAGE_PA_IN
{L"00000446", L"0", L"1", L"2", L"Punjabi (India)", L"91", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, paINLayouts }, {L"00000446", L"0", L"1", L"2", L"Punjabi (India)", L"91", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, paINLayouts },
#endif #endif
#ifdef LANGUAGE_RO_RO #ifdef LANGUAGE_RO_RO
{L"00000418", L"1250", L"852", L"10029", L"Romanian", L"40", roROPages, roROErrorEntries, roROStrings, LatinFonts, roROLayouts }, {L"00000418", L"1250", L"852", L"10029", L"Romanian", L"40", roROPages, roROErrorEntries, roROStrings, LatinFonts, roROLayouts },
#endif #endif
#ifdef LANGUAGE_RM_CH #ifdef LANGUAGE_RM_CH
{L"00000417", L"1252", L"850", L"10000", L"Romansh", L"41", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, rmCHLayouts }, {L"00000417", L"1252", L"850", L"10000", L"Romansh", L"41", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, rmCHLayouts },
#endif #endif
#ifdef LANGUAGE_RU_RU #ifdef LANGUAGE_RU_RU
{L"00000419", L"1251", L"866", L"10007", L"Russian", L"7", ruRUPages, ruRUErrorEntries, ruRUStrings, CyrillicFonts, ruRULayouts }, {L"00000419", L"1251", L"866", L"10007", L"Russian", L"7", ruRUPages, ruRUErrorEntries, ruRUStrings, CyrillicFonts, ruRULayouts },
#endif #endif
#ifdef LANGUAGE_SA_IN #ifdef LANGUAGE_SA_IN
{L"0000044F", L"0", L"1", L"2", L"Sanskrit", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, saINLayouts }, {L"0000044F", L"0", L"1", L"2", L"Sanskrit", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, saINLayouts },
#endif #endif
#ifdef LANGUAGE_SR_SP #ifdef LANGUAGE_SR_SP
{L"00000C1A", L"1251", L"855", L"10007", L"Serbian (Cyrillic)", L"1", enUSPages, enUSErrorEntries, enUSStrings, CyrillicFonts, srSPLayouts }, {L"00000C1A", L"1251", L"855", L"10007", L"Serbian (Cyrillic)", L"1", enUSPages, enUSErrorEntries, enUSStrings, CyrillicFonts, srSPLayouts },
#endif #endif
#ifdef LANGUAGE_SR_SP #ifdef LANGUAGE_SR_SP
{L"0000081A", L"1250", L"852", L"10029", L"Serbian (Latin)", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, srSPLayouts }, {L"0000081A", L"1250", L"852", L"10029", L"Serbian (Latin)", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, srSPLayouts },
#endif #endif
#ifdef LANGUAGE_SK_SK #ifdef LANGUAGE_SK_SK
{L"0000041B", L"1250", L"852", L"10029", L"Slovak", L"421", skSKPages, skSKErrorEntries, skSKStrings, LatinFonts, skSKLayouts }, {L"0000041B", L"1250", L"852", L"10029", L"Slovak", L"421", skSKPages, skSKErrorEntries, skSKStrings, LatinFonts, skSKLayouts },
#endif #endif
#ifdef LANGUAGE_SL_SI #ifdef LANGUAGE_SL_SI
{L"00000424", L"1250", L"852", L"10029", L"Slovenian", L"386", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, slSILayouts }, {L"00000424", L"1250", L"852", L"10029", L"Slovenian", L"386", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, slSILayouts },
#endif #endif
#ifdef LANGUAGE_ES_ES #ifdef LANGUAGE_ES_ES
{L"0000040A", L"1252", L"850", L"10000", L"Spanish (Traditional Sort)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esESLayouts }, {L"0000040A", L"1252", L"850", L"10000", L"Spanish (Traditional Sort)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esESLayouts },
#endif #endif
#ifdef LANGUAGE_ES_MX #ifdef LANGUAGE_ES_MX
{L"0000080A", L"1252", L"850", L"10000", L"Spanish (Mexico)", L"52", esESPages, esESErrorEntries, esESStrings, LatinFonts, esMXLayouts }, {L"0000080A", L"1252", L"850", L"10000", L"Spanish (Mexico)", L"52", esESPages, esESErrorEntries, esESStrings, LatinFonts, esMXLayouts },
#endif #endif
#ifdef LANGUAGE_ES_ES #ifdef LANGUAGE_ES_ES
{L"00000C0A", L"1252", L"850", L"10000", L"Spanish (International Sort)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esESLayouts }, {L"00000C0A", L"1252", L"850", L"10000", L"Spanish (International Sort)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esESLayouts },
#endif #endif
#ifdef LANGUAGE_ES_GT #ifdef LANGUAGE_ES_GT
{L"0000100A", L"1252", L"850", L"10000", L"Spanish (Guatemala)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esGTLayouts }, {L"0000100A", L"1252", L"850", L"10000", L"Spanish (Guatemala)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esGTLayouts },
#endif #endif
#ifdef LANGUAGE_ES_CR #ifdef LANGUAGE_ES_CR
{L"0000140A", L"1252", L"850", L"10000", L"Spanish (Costa Rica)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esCRLayouts }, {L"0000140A", L"1252", L"850", L"10000", L"Spanish (Costa Rica)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esCRLayouts },
#endif #endif
#ifdef LANGUAGE_ES_PA #ifdef LANGUAGE_ES_PA
{L"0000180A", L"1252", L"850", L"10000", L"Spanish (Panama)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esPALayouts }, {L"0000180A", L"1252", L"850", L"10000", L"Spanish (Panama)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esPALayouts },
#endif #endif
#ifdef LANGUAGE_ES_DO #ifdef LANGUAGE_ES_DO
{L"00001C0A", L"1252", L"850", L"10000", L"Spanish (Dominican Republic)", L"110", esESPages, esESErrorEntries, esESStrings, LatinFonts, esDOLayouts }, {L"00001C0A", L"1252", L"850", L"10000", L"Spanish (Dominican Republic)", L"110", esESPages, esESErrorEntries, esESStrings, LatinFonts, esDOLayouts },
#endif #endif
#ifdef LANGUAGE_ES_VE #ifdef LANGUAGE_ES_VE
{L"0000200A", L"1252", L"850", L"10000", L"Spanish (Venezuela)", L"58", esESPages, esESErrorEntries, esESStrings, LatinFonts, esVELayouts }, {L"0000200A", L"1252", L"850", L"10000", L"Spanish (Venezuela)", L"58", esESPages, esESErrorEntries, esESStrings, LatinFonts, esVELayouts },
#endif #endif
#ifdef LANGUAGE_ES_CO #ifdef LANGUAGE_ES_CO
{L"0000240A", L"1252", L"850", L"10000", L"Spanish (Colombia)", L"57", esESPages, esESErrorEntries, esESStrings, LatinFonts, esCOLayouts }, {L"0000240A", L"1252", L"850", L"10000", L"Spanish (Colombia)", L"57", esESPages, esESErrorEntries, esESStrings, LatinFonts, esCOLayouts },
#endif #endif
#ifdef LANGUAGE_ES_PE #ifdef LANGUAGE_ES_PE
{L"0000280A", L"1252", L"850", L"10000", L"Spanish (Peru)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esPELayouts }, {L"0000280A", L"1252", L"850", L"10000", L"Spanish (Peru)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esPELayouts },
#endif #endif
#ifdef LANGUAGE_ES_AR #ifdef LANGUAGE_ES_AR
{L"00002C0A", L"1252", L"850", L"10000", L"Spanish (Argentina)", L"54", esESPages, esESErrorEntries, esESStrings, LatinFonts, esARLayouts }, {L"00002C0A", L"1252", L"850", L"10000", L"Spanish (Argentina)", L"54", esESPages, esESErrorEntries, esESStrings, LatinFonts, esARLayouts },
#endif #endif
#ifdef LANGUAGE_ES_EC #ifdef LANGUAGE_ES_EC
{L"0000300A", L"1252", L"850", L"10000", L"Spanish (Ecuador)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esECLayouts }, {L"0000300A", L"1252", L"850", L"10000", L"Spanish (Ecuador)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esECLayouts },
#endif #endif
#ifdef LANGUAGE_ES_CL #ifdef LANGUAGE_ES_CL
{L"0000340A", L"1252", L"850", L"10000", L"Spanish (Chile)", L"56", esESPages, esESErrorEntries, esESStrings, LatinFonts, esCLLayouts }, {L"0000340A", L"1252", L"850", L"10000", L"Spanish (Chile)", L"56", esESPages, esESErrorEntries, esESStrings, LatinFonts, esCLLayouts },
#endif #endif
#ifdef LANGUAGE_ES_UY #ifdef LANGUAGE_ES_UY
{L"0000380A", L"1252", L"850", L"10000", L"Spanish (Uruguay)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esUYLayouts }, {L"0000380A", L"1252", L"850", L"10000", L"Spanish (Uruguay)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esUYLayouts },
#endif #endif
#ifdef LANGUAGE_ES_PY #ifdef LANGUAGE_ES_PY
{L"00003C0A", L"1252", L"850", L"10000", L"Spanish (Paraguay)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esPYLayouts }, {L"00003C0A", L"1252", L"850", L"10000", L"Spanish (Paraguay)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esPYLayouts },
#endif #endif
#ifdef LANGUAGE_ES_BO #ifdef LANGUAGE_ES_BO
{L"0000400A", L"1252", L"850", L"10000", L"Spanish (Bolivia)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esBOLayouts }, {L"0000400A", L"1252", L"850", L"10000", L"Spanish (Bolivia)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esBOLayouts },
#endif #endif
#ifdef LANGUAGE_ES_SV #ifdef LANGUAGE_ES_SV
{L"0000440A", L"1252", L"850", L"10000", L"Spanish (El Salvador)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esSVLayouts }, {L"0000440A", L"1252", L"850", L"10000", L"Spanish (El Salvador)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esSVLayouts },
#endif #endif
#ifdef LANGUAGE_ES_HN #ifdef LANGUAGE_ES_HN
{L"0000480A", L"1252", L"850", L"10000", L"Spanish (Honduras)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esHNLayouts }, {L"0000480A", L"1252", L"850", L"10000", L"Spanish (Honduras)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esHNLayouts },
#endif #endif
#ifdef LANGUAGE_ES_NI #ifdef LANGUAGE_ES_NI
{L"00004C0A", L"1252", L"850", L"10000", L"Spanish (Nicaragua)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esNILayouts }, {L"00004C0A", L"1252", L"850", L"10000", L"Spanish (Nicaragua)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esNILayouts },
#endif #endif
#ifdef LANGUAGE_ES_PR #ifdef LANGUAGE_ES_PR
{L"0000500A", L"1252", L"850", L"10000", L"Spanish (Puerto Rico)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esPRLayouts }, {L"0000500A", L"1252", L"850", L"10000", L"Spanish (Puerto Rico)", L"1", esESPages, esESErrorEntries, esESStrings, LatinFonts, esPRLayouts },
#endif #endif
#ifdef LANGUAGE_SW_KE #ifdef LANGUAGE_SW_KE
{L"00000441", L"1252", L"437", L"10000", L"Swahili", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, swKELayouts }, {L"00000441", L"1252", L"437", L"10000", L"Swahili", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, swKELayouts },
#endif #endif
#ifdef LANGUAGE_SV_SE #ifdef LANGUAGE_SV_SE
{L"0000041D", L"1252", L"850", L"10000", L"Swedish", L"46", svSEPages, svSEErrorEntries, svSEStrings, LatinFonts, svSELayouts }, {L"0000041D", L"1252", L"850", L"10000", L"Swedish", L"46", svSEPages, svSEErrorEntries, svSEStrings, LatinFonts, svSELayouts },
#endif #endif
#ifdef LANGUAGE_SV_FI #ifdef LANGUAGE_SV_FI
{L"0000081D", L"1252", L"850", L"10000", L"Swedish (Finland)", L"358", svSEPages, svSEErrorEntries, svSEStrings, LatinFonts, svFILayouts }, {L"0000081D", L"1252", L"850", L"10000", L"Swedish (Finland)", L"358", svSEPages, svSEErrorEntries, svSEStrings, LatinFonts, svFILayouts },
#endif #endif
#ifdef LANGUAGE_SYR_SY #ifdef LANGUAGE_SYR_SY
{L"0000045A", L"0", L"1", L"2", L"Syriac (Syria)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, syrSYLayouts}, {L"0000045A", L"0", L"1", L"2", L"Syriac (Syria)", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, syrSYLayouts},
#endif #endif
#ifdef LANGUAGE_TA_IN #ifdef LANGUAGE_TA_IN
{L"00000449", L"0", L"1", L"2", L"Tamil", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, taINLayouts }, {L"00000449", L"0", L"1", L"2", L"Tamil", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, taINLayouts },
#endif #endif
#ifdef LANGUAGE_TT_TA #ifdef LANGUAGE_TT_TA
{L"00000444", L"1251", L"866", L"10007", L"Tatar", L"1", enUSPages, enUSErrorEntries, enUSStrings, CyrillicFonts, ttTALayouts }, {L"00000444", L"1251", L"866", L"10007", L"Tatar", L"1", enUSPages, enUSErrorEntries, enUSStrings, CyrillicFonts, ttTALayouts },
#endif #endif
#ifdef LANGUAGE_TE_IN #ifdef LANGUAGE_TE_IN
{L"0000044A", L"0", L"1", L"2", L"Telugu (India)", L"91", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, teINLayouts }, {L"0000044A", L"0", L"1", L"2", L"Telugu (India)", L"91", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, teINLayouts },
#endif #endif
#ifdef LANGUAGE_TH_TH #ifdef LANGUAGE_TH_TH
{L"0000041E", L"874", L"874", L"10021", L"Thai", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, thTHLayouts }, {L"0000041E", L"874", L"874", L"10021", L"Thai", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, thTHLayouts },
#endif #endif
#ifdef LANGUAGE_TR_TR #ifdef LANGUAGE_TR_TR
{L"0000041F", L"1254", L"857", L"10081", L"Turkish", L"90", trTRPages, trTRErrorEntries, trTRStrings, LatinFonts, trTRLayouts }, {L"0000041F", L"1254", L"857", L"10081", L"Turkish", L"90", trTRPages, trTRErrorEntries, trTRStrings, LatinFonts, trTRLayouts },
#endif #endif
#ifdef LANGUAGE_UK_UA #ifdef LANGUAGE_UK_UA
{L"00000422", L"1251", L"866", L"10017", L"Ukrainian", L"380", ukUAPages, ukUAErrorEntries, ukUAStrings, CyrillicFonts, ukUALayouts }, {L"00000422", L"1251", L"866", L"10017", L"Ukrainian", L"380", ukUAPages, ukUAErrorEntries, ukUAStrings, CyrillicFonts, ukUALayouts },
#endif #endif
#ifdef LANGUAGE_UR_PK #ifdef LANGUAGE_UR_PK
{L"00000420", L"1256", L"720", L"10004", L"Urdu", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, urPKLayouts }, {L"00000420", L"1256", L"720", L"10004", L"Urdu", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, urPKLayouts },
#endif #endif
#ifdef LANGUAGE_UZ_UZ #ifdef LANGUAGE_UZ_UZ
{L"00000443", L"1254", L"857", L"10029", L"Uzbek (Latin)", L"998", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, uzUZLayouts }, {L"00000443", L"1254", L"857", L"10029", L"Uzbek (Latin)", L"998", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, uzUZLayouts },
#endif #endif
#ifdef LANGUAGE_UZ_UZ #ifdef LANGUAGE_UZ_UZ
{L"00000843", L"1251", L"866", L"10007", L"Uzbek (Cyrillic)", L"998", enUSPages, enUSErrorEntries, enUSStrings, CyrillicFonts, uzUZLayouts }, {L"00000843", L"1251", L"866", L"10007", L"Uzbek (Cyrillic)", L"998", enUSPages, enUSErrorEntries, enUSStrings, CyrillicFonts, uzUZLayouts },
#endif #endif
#ifdef LANGUAGE_VI_VN #ifdef LANGUAGE_VI_VN
{L"0000042A", L"1258", L"1258",L"10000", L"Vietnamese", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, viVNLayouts }, {L"0000042A", L"1258", L"1258",L"10000", L"Vietnamese", L"1", enUSPages, enUSErrorEntries, enUSStrings, UnicodeFonts, viVNLayouts },
#endif #endif
#ifdef LANGUAGE_WA_BE #ifdef LANGUAGE_WA_BE
{L"00000490", L"1252", L"850", L"10000", L"Walon", L"32", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, waBELayouts }, {L"00000490", L"1252", L"850", L"10000", L"Walon", L"32", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, waBELayouts },
#endif #endif
#ifdef LANGUAGE_ZU_ZU #ifdef LANGUAGE_ZU_ZU
{L"00000435", L"1252", L"850", L"10000", L"Zulu", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, zuZULayouts }, {L"00000435", L"1252", L"850", L"10000", L"Zulu", L"1", enUSPages, enUSErrorEntries, enUSStrings, LatinFonts, zuZULayouts },
#endif #endif
{NULL, NULL, NULL, NULL, NULL, NULL} {NULL, NULL, NULL, NULL, NULL, NULL}
}; };

View file

@ -9,362 +9,372 @@
/* FUNCTIONS ****************************************************************/ /* FUNCTIONS ****************************************************************/
static VOID static
DrawBorder(PPROGRESSBAR Bar) VOID
DrawBorder(
PPROGRESSBAR Bar)
{ {
COORD coPos; COORD coPos;
DWORD Written; DWORD Written;
SHORT i; SHORT i;
/* draw upper left corner */ /* draw upper left corner */
coPos.X = Bar->Left; coPos.X = Bar->Left;
coPos.Y = Bar->Top + 1; coPos.Y = Bar->Top + 1;
FillConsoleOutputCharacterA(StdOutput, FillConsoleOutputCharacterA(StdOutput,
0xDA, // '+', 0xDA, // '+',
1, 1,
coPos, coPos,
&Written); &Written);
/* draw upper edge */ /* draw upper edge */
coPos.X = Bar->Left + 1; coPos.X = Bar->Left + 1;
coPos.Y = Bar->Top + 1; coPos.Y = Bar->Top + 1;
FillConsoleOutputCharacterA(StdOutput, FillConsoleOutputCharacterA(StdOutput,
0xC4, // '-', 0xC4, // '-',
Bar->Right - Bar->Left - 1, Bar->Right - Bar->Left - 1,
coPos, coPos,
&Written); &Written);
/* draw upper right corner */ /* draw upper right corner */
coPos.X = Bar->Right; coPos.X = Bar->Right;
coPos.Y = Bar->Top + 1; coPos.Y = Bar->Top + 1;
FillConsoleOutputCharacterA(StdOutput, FillConsoleOutputCharacterA(StdOutput,
0xBF, // '+', 0xBF, // '+',
1, 1,
coPos, coPos,
&Written); &Written);
/* draw left and right edge */ /* draw left and right edge */
for (i = Bar->Top + 2; i < Bar->Bottom; i++) for (i = Bar->Top + 2; i < Bar->Bottom; i++)
{ {
coPos.X = Bar->Left; coPos.X = Bar->Left;
coPos.Y = i; coPos.Y = i;
FillConsoleOutputCharacterA(StdOutput, FillConsoleOutputCharacterA(StdOutput,
0xB3, // '|', 0xB3, // '|',
1, 1,
coPos, coPos,
&Written); &Written);
coPos.X = Bar->Right; coPos.X = Bar->Right;
FillConsoleOutputCharacterA(StdOutput, FillConsoleOutputCharacterA(StdOutput,
0xB3, //'|', 0xB3, //'|',
1, 1,
coPos, coPos,
&Written); &Written);
} }
/* draw lower left corner */ /* draw lower left corner */
coPos.X = Bar->Left; coPos.X = Bar->Left;
coPos.Y = Bar->Bottom; coPos.Y = Bar->Bottom;
FillConsoleOutputCharacterA(StdOutput, FillConsoleOutputCharacterA(StdOutput,
0xC0, // '+', 0xC0, // '+',
1, 1,
coPos, coPos,
&Written); &Written);
/* draw lower edge */ /* draw lower edge */
coPos.X = Bar->Left + 1; coPos.X = Bar->Left + 1;
coPos.Y = Bar->Bottom; coPos.Y = Bar->Bottom;
FillConsoleOutputCharacterA(StdOutput, FillConsoleOutputCharacterA(StdOutput,
0xC4, // '-', 0xC4, // '-',
Bar->Right - Bar->Left - 1, Bar->Right - Bar->Left - 1,
coPos, coPos,
&Written); &Written);
/* draw lower right corner */ /* draw lower right corner */
coPos.X = Bar->Right; coPos.X = Bar->Right;
coPos.Y = Bar->Bottom; coPos.Y = Bar->Bottom;
FillConsoleOutputCharacterA(StdOutput, FillConsoleOutputCharacterA(StdOutput,
0xD9, // '+', 0xD9, // '+',
1, 1,
coPos, coPos,
&Written); &Written);
} }
static VOID
DrawThickBorder(PPROGRESSBAR Bar) static
VOID
DrawThickBorder(
PPROGRESSBAR Bar)
{ {
COORD coPos; COORD coPos;
DWORD Written; DWORD Written;
SHORT i; SHORT i;
/* draw upper left corner */ /* draw upper left corner */
coPos.X = Bar->Left; coPos.X = Bar->Left;
coPos.Y = Bar->Top + 1; coPos.Y = Bar->Top + 1;
FillConsoleOutputCharacterA(StdOutput, FillConsoleOutputCharacterA(StdOutput,
0xC9, // '+', 0xC9, // '+',
1, 1,
coPos, coPos,
&Written); &Written);
/* draw upper edge */ /* draw upper edge */
coPos.X = Bar->Left + 1; coPos.X = Bar->Left + 1;
coPos.Y = Bar->Top + 1; coPos.Y = Bar->Top + 1;
FillConsoleOutputCharacterA(StdOutput, FillConsoleOutputCharacterA(StdOutput,
0xCD, // '-', 0xCD, // '-',
Bar->Right - Bar->Left - 1, Bar->Right - Bar->Left - 1,
coPos, coPos,
&Written); &Written);
/* draw upper right corner */ /* draw upper right corner */
coPos.X = Bar->Right; coPos.X = Bar->Right;
coPos.Y = Bar->Top + 1; coPos.Y = Bar->Top + 1;
FillConsoleOutputCharacterA(StdOutput, FillConsoleOutputCharacterA(StdOutput,
0xBB, // '+', 0xBB, // '+',
1, 1,
coPos, coPos,
&Written); &Written);
/* draw left and right edge */ /* draw left and right edge */
for (i = Bar->Top + 2; i < Bar->Bottom; i++) for (i = Bar->Top + 2; i < Bar->Bottom; i++)
{ {
coPos.X = Bar->Left; coPos.X = Bar->Left;
coPos.Y = i; coPos.Y = i;
FillConsoleOutputCharacterA(StdOutput, FillConsoleOutputCharacterA(StdOutput,
0xBA, // '|', 0xBA, // '|',
1, 1,
coPos, coPos,
&Written); &Written);
coPos.X = Bar->Right; coPos.X = Bar->Right;
FillConsoleOutputCharacterA(StdOutput, FillConsoleOutputCharacterA(StdOutput,
0xBA, //'|', 0xBA, //'|',
1, 1,
coPos, coPos,
&Written); &Written);
} }
/* draw lower left corner */ /* draw lower left corner */
coPos.X = Bar->Left; coPos.X = Bar->Left;
coPos.Y = Bar->Bottom; coPos.Y = Bar->Bottom;
FillConsoleOutputCharacterA(StdOutput, FillConsoleOutputCharacterA(StdOutput,
0xC8, // '+', 0xC8, // '+',
1, 1,
coPos, coPos,
&Written); &Written);
/* draw lower edge */ /* draw lower edge */
coPos.X = Bar->Left + 1; coPos.X = Bar->Left + 1;
coPos.Y = Bar->Bottom; coPos.Y = Bar->Bottom;
FillConsoleOutputCharacterA(StdOutput, FillConsoleOutputCharacterA(StdOutput,
0xCD, // '-', 0xCD, // '-',
Bar->Right - Bar->Left - 1, Bar->Right - Bar->Left - 1,
coPos, coPos,
&Written); &Written);
/* draw lower right corner */ /* draw lower right corner */
coPos.X = Bar->Right; coPos.X = Bar->Right;
coPos.Y = Bar->Bottom; coPos.Y = Bar->Bottom;
FillConsoleOutputCharacterA(StdOutput, FillConsoleOutputCharacterA(StdOutput,
0xBC, // '+', 0xBC, // '+',
1, 1,
coPos, coPos,
&Written); &Written);
} }
static VOID
DrawProgressBar(PPROGRESSBAR Bar) static
VOID
DrawProgressBar(
PPROGRESSBAR Bar)
{ {
CHAR TextBuffer[8]; CHAR TextBuffer[8];
COORD coPos; COORD coPos;
DWORD Written; DWORD Written;
PROGRESSBAR BarBorder = *Bar; PROGRESSBAR BarBorder = *Bar;
/* Print percentage */ /* Print percentage */
sprintf(TextBuffer, "%-3lu%%", Bar->Percent); sprintf(TextBuffer, "%-3lu%%", Bar->Percent);
coPos.X = Bar->Left + (Bar->Width - 2) / 2; coPos.X = Bar->Left + (Bar->Width - 2) / 2;
coPos.Y = Bar->Top; coPos.Y = Bar->Top;
WriteConsoleOutputCharacterA(StdOutput, WriteConsoleOutputCharacterA(StdOutput,
TextBuffer, TextBuffer,
4, 4,
coPos, coPos,
&Written); &Written);
/* Draw the progress bar border */ /* Draw the progress bar border */
DrawBorder(Bar); DrawBorder(Bar);
/* Write Text Associated with Bar */ /* Write Text Associated with Bar */
CONSOLE_SetTextXY(Bar->TextTop, Bar->TextRight, Bar->Text); CONSOLE_SetTextXY(Bar->TextTop, Bar->TextRight, Bar->Text);
/* Draw the progress bar "border" border */ /* Draw the progress bar "border" border */
if (Bar->Double) if (Bar->Double)
{
BarBorder.Top -= 5;
BarBorder.Bottom += 2;
BarBorder.Right += 5;
BarBorder.Left -= 5;
DrawThickBorder(&BarBorder);
}
/* Draw the bar */
coPos.X = Bar->Left + 1;
for (coPos.Y = Bar->Top + 2; coPos.Y <= Bar->Bottom - 1; coPos.Y++)
{ {
FillConsoleOutputAttribute(StdOutput, BarBorder.Top -= 5;
FOREGROUND_YELLOW | BACKGROUND_BLUE, BarBorder.Bottom += 2;
Bar->Width - 2, BarBorder.Right += 5;
coPos, BarBorder.Left -= 5;
&Written); DrawThickBorder(&BarBorder);
FillConsoleOutputCharacterA(StdOutput,
' ',
Bar->Width - 2,
coPos,
&Written);
} }
} /* Draw the bar */
coPos.X = Bar->Left + 1;
for (coPos.Y = Bar->Top + 2; coPos.Y <= Bar->Bottom - 1; coPos.Y++)
{
FillConsoleOutputAttribute(StdOutput,
FOREGROUND_YELLOW | BACKGROUND_BLUE,
Bar->Width - 2,
coPos,
&Written);
FillConsoleOutputCharacterA(StdOutput,
' ',
Bar->Width - 2,
coPos,
&Written);
}
}
PPROGRESSBAR PPROGRESSBAR
CreateProgressBar(SHORT Left, CreateProgressBar(
SHORT Top, SHORT Left,
SHORT Right, SHORT Top,
SHORT Bottom, SHORT Right,
SHORT TextTop, SHORT Bottom,
SHORT TextRight, SHORT TextTop,
IN BOOLEAN DoubleEdge, SHORT TextRight,
char* Text) IN BOOLEAN DoubleEdge,
CHAR *Text)
{ {
PPROGRESSBAR Bar; PPROGRESSBAR Bar;
Bar = (PPROGRESSBAR)RtlAllocateHeap(ProcessHeap, Bar = (PPROGRESSBAR)RtlAllocateHeap(ProcessHeap,
0, 0,
sizeof(PROGRESSBAR)); sizeof(PROGRESSBAR));
if (Bar == NULL) if (Bar == NULL)
return(NULL); return NULL;
Bar->Left = Left; Bar->Left = Left;
Bar->Top = Top; Bar->Top = Top;
Bar->Right = Right; Bar->Right = Right;
Bar->Bottom = Bottom; Bar->Bottom = Bottom;
Bar->TextTop = TextTop; Bar->TextTop = TextTop;
Bar->TextRight = TextRight; Bar->TextRight = TextRight;
Bar->Double = DoubleEdge; Bar->Double = DoubleEdge;
Bar->Text = Text; Bar->Text = Text;
Bar->Width = Bar->Right - Bar->Left + 1; Bar->Width = Bar->Right - Bar->Left + 1;
Bar->Percent = 0; Bar->Percent = 0;
Bar->Pos = 0; Bar->Pos = 0;
Bar->StepCount = 0; Bar->StepCount = 0;
Bar->CurrentStep = 0; Bar->CurrentStep = 0;
DrawProgressBar(Bar); DrawProgressBar(Bar);
return(Bar); return Bar;
} }
VOID VOID
DestroyProgressBar(PPROGRESSBAR Bar) DestroyProgressBar(
PPROGRESSBAR Bar)
{ {
RtlFreeHeap(ProcessHeap, RtlFreeHeap(ProcessHeap, 0, Bar);
0,
Bar);
}
VOID
ProgressSetStepCount(PPROGRESSBAR Bar,
ULONG StepCount)
{
Bar->CurrentStep = 0;
Bar->StepCount = StepCount;
DrawProgressBar(Bar);
} }
VOID VOID
ProgressNextStep(PPROGRESSBAR Bar) ProgressSetStepCount(
PPROGRESSBAR Bar,
ULONG StepCount)
{ {
ProgressSetStep(Bar, Bar->CurrentStep + 1); Bar->CurrentStep = 0;
Bar->StepCount = StepCount;
DrawProgressBar(Bar);
} }
VOID VOID
ProgressSetStep (PPROGRESSBAR Bar, ProgressNextStep(
ULONG Step) PPROGRESSBAR Bar)
{ {
CHAR TextBuffer[8]; ProgressSetStep(Bar, Bar->CurrentStep + 1);
COORD coPos; }
DWORD Written;
ULONG NewPercent;
ULONG NewPos;
if (Step > Bar->StepCount)
return;
Bar->CurrentStep = Step; VOID
ProgressSetStep(
PPROGRESSBAR Bar,
ULONG Step)
{
CHAR TextBuffer[8];
COORD coPos;
DWORD Written;
ULONG NewPercent;
ULONG NewPos;
/* Calculate new percentage */ if (Step > Bar->StepCount)
NewPercent = (ULONG)(((100.0 * (float)Bar->CurrentStep) / (float)Bar->StepCount) + 0.5); return;
/* Redraw precentage if changed */ Bar->CurrentStep = Step;
if (Bar->Percent != NewPercent)
/* Calculate new percentage */
NewPercent = (ULONG)(((100.0 * (float)Bar->CurrentStep) / (float)Bar->StepCount) + 0.5);
/* Redraw precentage if changed */
if (Bar->Percent != NewPercent)
{ {
Bar->Percent = NewPercent; Bar->Percent = NewPercent;
sprintf(TextBuffer, "%-3lu%%", Bar->Percent); sprintf(TextBuffer, "%-3lu%%", Bar->Percent);
coPos.X = Bar->Left + (Bar->Width - 2) / 2; coPos.X = Bar->Left + (Bar->Width - 2) / 2;
coPos.Y = Bar->Top; coPos.Y = Bar->Top;
WriteConsoleOutputCharacterA(StdOutput, WriteConsoleOutputCharacterA(StdOutput,
TextBuffer, TextBuffer,
4, 4,
coPos, coPos,
&Written); &Written);
} }
/* Calculate bar position */ /* Calculate bar position */
NewPos = (ULONG)((((float)(Bar->Width - 2) * 2.0 * (float)Bar->CurrentStep) / (float)Bar->StepCount) + 0.5); NewPos = (ULONG)((((float)(Bar->Width - 2) * 2.0 * (float)Bar->CurrentStep) / (float)Bar->StepCount) + 0.5);
/* Redraw bar if changed */ /* Redraw bar if changed */
if (Bar->Pos != NewPos) if (Bar->Pos != NewPos)
{ {
Bar->Pos = NewPos; Bar->Pos = NewPos;
for (coPos.Y = Bar->Top + 2; coPos.Y <= Bar->Bottom - 1; coPos.Y++) for (coPos.Y = Bar->Top + 2; coPos.Y <= Bar->Bottom - 1; coPos.Y++)
{ {
coPos.X = Bar->Left + 1; coPos.X = Bar->Left + 1;
FillConsoleOutputCharacterA(StdOutput, FillConsoleOutputCharacterA(StdOutput,
0xDB, 0xDB,
Bar->Pos / 2, Bar->Pos / 2,
coPos, coPos,
&Written); &Written);
coPos.X += Bar->Pos/2; coPos.X += Bar->Pos/2;
if (NewPos & 1) if (NewPos & 1)
{ {
FillConsoleOutputCharacterA(StdOutput, FillConsoleOutputCharacterA(StdOutput,
0xDD, 0xDD,
1, 1,
coPos, coPos,
&Written); &Written);
coPos.X++; coPos.X++;
} }
if (coPos.X <= Bar->Right - 1) if (coPos.X <= Bar->Right - 1)
{ {
FillConsoleOutputCharacterA(StdOutput, FillConsoleOutputCharacterA(StdOutput,
' ', ' ',
Bar->Right - coPos.X, Bar->Right - coPos.X,
coPos, coPos,
&Written); &Written);
} }
} }
} }
} }

View file

@ -28,49 +28,54 @@
typedef struct _PROGRESS typedef struct _PROGRESS
{ {
SHORT Left; SHORT Left;
SHORT Top; SHORT Top;
SHORT Right; SHORT Right;
SHORT Bottom; SHORT Bottom;
SHORT TextTop; SHORT TextTop;
SHORT TextRight; SHORT TextRight;
SHORT Width; SHORT Width;
ULONG Percent; ULONG Percent;
SHORT Pos; SHORT Pos;
ULONG StepCount; ULONG StepCount;
ULONG CurrentStep; ULONG CurrentStep;
BOOLEAN Double; BOOLEAN Double;
CHAR *Text; CHAR *Text;
} PROGRESSBAR, *PPROGRESSBAR; } PROGRESSBAR, *PPROGRESSBAR;
/* FUNCTIONS ****************************************************************/ /* FUNCTIONS ****************************************************************/
PPROGRESSBAR PPROGRESSBAR
CreateProgressBar(SHORT Left, CreateProgressBar(
SHORT Top, SHORT Left,
SHORT Right, SHORT Top,
SHORT Bottom, SHORT Right,
SHORT TextTop, SHORT Bottom,
SHORT TextRight, SHORT TextTop,
BOOLEAN DoubleEdge, SHORT TextRight,
char* Text); BOOLEAN DoubleEdge,
CHAR *Text);
VOID VOID
DestroyProgressBar(PPROGRESSBAR Bar); DestroyProgressBar(
PPROGRESSBAR Bar);
VOID VOID
ProgressSetStepCount(PPROGRESSBAR Bar, ProgressSetStepCount(
ULONG StepCount); PPROGRESSBAR Bar,
ULONG StepCount);
VOID VOID
ProgressNextStep(PPROGRESSBAR Bar); ProgressNextStep(
PPROGRESSBAR Bar);
VOID VOID
ProgressSetStep (PPROGRESSBAR Bar, ProgressSetStep(
ULONG Step); PPROGRESSBAR Bar,
ULONG Step);
/* EOF */ /* EOF */

View file

@ -63,47 +63,49 @@
typedef struct _REG_DISK_MOUNT_INFO typedef struct _REG_DISK_MOUNT_INFO
{ {
ULONG Signature; ULONG Signature;
LARGE_INTEGER StartingOffset; LARGE_INTEGER StartingOffset;
} REG_DISK_MOUNT_INFO, *PREG_DISK_MOUNT_INFO; } REG_DISK_MOUNT_INFO, *PREG_DISK_MOUNT_INFO;
#include <poppack.h> #include <poppack.h>
/* FUNCTIONS ****************************************************************/ /* FUNCTIONS ****************************************************************/
static BOOLEAN static
GetRootKey (PWCHAR Name) BOOLEAN
GetRootKey(
PWCHAR Name)
{ {
if (!_wcsicmp (Name, L"HKCR")) if (!_wcsicmp (Name, L"HKCR"))
{ {
wcscpy (Name, L"\\Registry\\Machine\\SOFTWARE\\Classes\\"); wcscpy (Name, L"\\Registry\\Machine\\SOFTWARE\\Classes\\");
return TRUE; return TRUE;
} }
if (!_wcsicmp (Name, L"HKCU")) if (!_wcsicmp (Name, L"HKCU"))
{ {
wcscpy (Name, L"\\Registry\\User\\.DEFAULT\\"); wcscpy (Name, L"\\Registry\\User\\.DEFAULT\\");
return TRUE; return TRUE;
} }
if (!_wcsicmp (Name, L"HKLM")) if (!_wcsicmp (Name, L"HKLM"))
{ {
wcscpy (Name, L"\\Registry\\Machine\\"); wcscpy (Name, L"\\Registry\\Machine\\");
return TRUE; return TRUE;
} }
if (!_wcsicmp (Name, L"HKU")) if (!_wcsicmp (Name, L"HKU"))
{ {
wcscpy (Name, L"\\Registry\\User\\"); wcscpy (Name, L"\\Registry\\User\\");
return TRUE; return TRUE;
} }
#if 0 #if 0
if (!_wcsicmp (Name, L"HKR")) if (!_wcsicmp (Name, L"HKR"))
return FALSE; return FALSE;
#endif #endif
return FALSE; return FALSE;
} }
@ -500,7 +502,7 @@ CreateNestedKey (PHANDLE KeyHandle,
* Called once for each AddReg and DelReg entry in a given section. * Called once for each AddReg and DelReg entry in a given section.
*/ */
static BOOLEAN static BOOLEAN
registry_callback (HINF hInf, PCWSTR Section, BOOLEAN Delete) registry_callback(HINF hInf, PCWSTR Section, BOOLEAN Delete)
{ {
OBJECT_ATTRIBUTES ObjectAttributes; OBJECT_ATTRIBUTES ObjectAttributes;
WCHAR Buffer[MAX_INF_STRING_LENGTH]; WCHAR Buffer[MAX_INF_STRING_LENGTH];
@ -624,148 +626,154 @@ registry_callback (HINF hInf, PCWSTR Section, BOOLEAN Delete)
BOOLEAN BOOLEAN
ImportRegistryFile(PWSTR Filename, ImportRegistryFile(
PWSTR Section, PWSTR Filename,
LCID LocaleId, PWSTR Section,
BOOLEAN Delete) LCID LocaleId,
BOOLEAN Delete)
{ {
WCHAR FileNameBuffer[MAX_PATH]; WCHAR FileNameBuffer[MAX_PATH];
HINF hInf; HINF hInf;
UINT ErrorLine; UINT ErrorLine;
/* Load inf file from install media. */ /* Load inf file from install media. */
wcscpy(FileNameBuffer, SourcePath.Buffer); wcscpy(FileNameBuffer, SourcePath.Buffer);
wcscat(FileNameBuffer, L"\\"); wcscat(FileNameBuffer, L"\\");
wcscat(FileNameBuffer, Filename); wcscat(FileNameBuffer, Filename);
hInf = SetupOpenInfFileW( hInf = SetupOpenInfFileW(FileNameBuffer,
FileNameBuffer, NULL,
NULL, INF_STYLE_WIN4,
INF_STYLE_WIN4, LocaleId,
LocaleId, &ErrorLine);
&ErrorLine); if (hInf == INVALID_HANDLE_VALUE)
if (hInf == INVALID_HANDLE_VALUE)
{ {
DPRINT1("SetupOpenInfFile() failed\n"); DPRINT1("SetupOpenInfFile() failed\n");
return FALSE; return FALSE;
} }
if (!registry_callback (hInf, L"AddReg", FALSE)) if (!registry_callback(hInf, L"AddReg", FALSE))
{ {
DPRINT1("registry_callback() failed\n"); DPRINT1("registry_callback() failed\n");
} }
if (!registry_callback (hInf, L"AddReg.NT" Architecture, FALSE)) if (!registry_callback(hInf, L"AddReg.NT" Architecture, FALSE))
{ {
DPRINT1("registry_callback() failed\n"); DPRINT1("registry_callback() failed\n");
} }
InfCloseFile (hInf); InfCloseFile(hInf);
return TRUE; return TRUE;
} }
BOOLEAN BOOLEAN
SetInstallPathValue(PUNICODE_STRING InstallPath) SetInstallPathValue(
PUNICODE_STRING InstallPath)
{ {
OBJECT_ATTRIBUTES ObjectAttributes; OBJECT_ATTRIBUTES ObjectAttributes;
UNICODE_STRING KeyName = RTL_CONSTANT_STRING(L"\\Registry\\Machine\\HARDWARE"); UNICODE_STRING KeyName = RTL_CONSTANT_STRING(L"\\Registry\\Machine\\HARDWARE");
UNICODE_STRING ValueName = RTL_CONSTANT_STRING(L"InstallPath"); UNICODE_STRING ValueName = RTL_CONSTANT_STRING(L"InstallPath");
HANDLE KeyHandle; HANDLE KeyHandle;
NTSTATUS Status; NTSTATUS Status;
/* Create the 'secret' InstallPath key */ /* Create the 'secret' InstallPath key */
InitializeObjectAttributes (&ObjectAttributes, InitializeObjectAttributes(&ObjectAttributes,
&KeyName, &KeyName,
OBJ_CASE_INSENSITIVE, OBJ_CASE_INSENSITIVE,
NULL, NULL,
NULL); NULL);
Status = NtOpenKey (&KeyHandle, Status = NtOpenKey(&KeyHandle,
KEY_ALL_ACCESS, KEY_ALL_ACCESS,
&ObjectAttributes); &ObjectAttributes);
if (!NT_SUCCESS(Status)) if (!NT_SUCCESS(Status))
{ {
DPRINT1("NtOpenKey() failed (Status %lx)\n", Status); DPRINT1("NtOpenKey() failed (Status %lx)\n", Status);
return FALSE; return FALSE;
} }
Status = NtSetValueKey (KeyHandle, Status = NtSetValueKey(KeyHandle,
&ValueName, &ValueName,
0,
REG_SZ,
(PVOID)InstallPath->Buffer,
InstallPath->Length + sizeof(WCHAR));
NtClose(KeyHandle);
if (!NT_SUCCESS(Status))
{
DPRINT1("NtSetValueKey() failed (Status %lx)\n", Status);
return FALSE;
}
return TRUE;
}
BOOLEAN
SetMountedDeviceValue(CHAR Letter, ULONG Signature, LARGE_INTEGER StartingOffset)
{
OBJECT_ATTRIBUTES ObjectAttributes;
WCHAR ValueNameBuffer[16];
UNICODE_STRING KeyName = RTL_CONSTANT_STRING(L"\\Registry\\Machine\\SYSTEM\\MountedDevices");
UNICODE_STRING ValueName;
REG_DISK_MOUNT_INFO MountInfo;
NTSTATUS Status;
HANDLE KeyHandle;
swprintf(ValueNameBuffer, L"\\DosDevices\\%C:", Letter);
RtlInitUnicodeString(&ValueName, ValueNameBuffer);
InitializeObjectAttributes (&ObjectAttributes,
&KeyName,
OBJ_CASE_INSENSITIVE,
NULL,
NULL);
Status = NtOpenKey (&KeyHandle,
KEY_ALL_ACCESS,
&ObjectAttributes);
if (!NT_SUCCESS(Status))
{
Status = NtCreateKey(&KeyHandle,
KEY_ALL_ACCESS,
&ObjectAttributes,
0, 0,
NULL, REG_SZ,
REG_OPTION_NON_VOLATILE, (PVOID)InstallPath->Buffer,
NULL); InstallPath->Length + sizeof(WCHAR));
} NtClose(KeyHandle);
if (!NT_SUCCESS(Status))
if (!NT_SUCCESS(Status))
{ {
DPRINT1("NtCreateKey() failed (Status %lx)\n", Status); DPRINT1("NtSetValueKey() failed (Status %lx)\n", Status);
return FALSE; return FALSE;
} }
MountInfo.Signature = Signature; return TRUE;
MountInfo.StartingOffset = StartingOffset; }
Status = NtSetValueKey (KeyHandle,
&ValueName,
0, BOOLEAN
REG_BINARY, SetMountedDeviceValue(
(PVOID)&MountInfo, CHAR Letter,
sizeof(MountInfo)); ULONG Signature,
NtClose(KeyHandle); LARGE_INTEGER StartingOffset)
if (!NT_SUCCESS(Status)) {
OBJECT_ATTRIBUTES ObjectAttributes;
WCHAR ValueNameBuffer[16];
UNICODE_STRING KeyName = RTL_CONSTANT_STRING(L"\\Registry\\Machine\\SYSTEM\\MountedDevices");
UNICODE_STRING ValueName;
REG_DISK_MOUNT_INFO MountInfo;
NTSTATUS Status;
HANDLE KeyHandle;
swprintf(ValueNameBuffer, L"\\DosDevices\\%C:", Letter);
RtlInitUnicodeString(&ValueName, ValueNameBuffer);
InitializeObjectAttributes(&ObjectAttributes,
&KeyName,
OBJ_CASE_INSENSITIVE,
NULL,
NULL);
Status = NtOpenKey(&KeyHandle,
KEY_ALL_ACCESS,
&ObjectAttributes);
if (!NT_SUCCESS(Status))
{ {
DPRINT1("NtSetValueKey() failed (Status %lx)\n", Status); Status = NtCreateKey(&KeyHandle,
return FALSE; KEY_ALL_ACCESS,
&ObjectAttributes,
0,
NULL,
REG_OPTION_NON_VOLATILE,
NULL);
} }
return TRUE; if (!NT_SUCCESS(Status))
{
DPRINT1("NtCreateKey() failed (Status %lx)\n", Status);
return FALSE;
}
MountInfo.Signature = Signature;
MountInfo.StartingOffset = StartingOffset;
Status = NtSetValueKey(KeyHandle,
&ValueName,
0,
REG_BINARY,
(PVOID)&MountInfo,
sizeof(MountInfo));
NtClose(KeyHandle);
if (!NT_SUCCESS(Status))
{
DPRINT1("NtSetValueKey() failed (Status %lx)\n", Status);
return FALSE;
}
return TRUE;
} }
VOID VOID
SetDefaultPagefile(WCHAR Drive) SetDefaultPagefile(
WCHAR Drive)
{ {
OBJECT_ATTRIBUTES ObjectAttributes; OBJECT_ATTRIBUTES ObjectAttributes;
UNICODE_STRING KeyName = RTL_CONSTANT_STRING(L"\\Registry\\Machine\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Memory Management"); UNICODE_STRING KeyName = RTL_CONSTANT_STRING(L"\\Registry\\Machine\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Memory Management");

View file

@ -27,18 +27,24 @@
#pragma once #pragma once
BOOLEAN BOOLEAN
ImportRegistryFile(PWSTR Filename, ImportRegistryFile(
PWSTR Section, PWSTR Filename,
LCID LocaleId, PWSTR Section,
BOOLEAN Delete); LCID LocaleId,
BOOLEAN Delete);
BOOLEAN BOOLEAN
SetInstallPathValue(PUNICODE_STRING InstallPath); SetInstallPathValue(
PUNICODE_STRING InstallPath);
BOOLEAN BOOLEAN
SetMountedDeviceValue(CHAR Letter, ULONG Signature, LARGE_INTEGER StartingOffset); SetMountedDeviceValue(
CHAR Letter,
ULONG Signature,
LARGE_INTEGER StartingOffset);
VOID VOID
SetDefaultPagefile(WCHAR Drive); SetDefaultPagefile(
WCHAR Drive);
/* EOF */ /* EOF */

View file

@ -31,34 +31,45 @@
#define NDEBUG #define NDEBUG
#include <debug.h> #include <debug.h>
/* GLOBALS ******************************************************************/
ULONG DefaultLanguageIndex = 0;
/* FUNCTIONS ****************************************************************/ /* FUNCTIONS ****************************************************************/
static BOOLEAN static
BOOLEAN
IsAcpiComputer(VOID) IsAcpiComputer(VOID)
{ {
UNICODE_STRING MultiKeyPathU = RTL_CONSTANT_STRING(L"\\Registry\\Machine\\HARDWARE\\DESCRIPTION\\System\\MultifunctionAdapter"); UNICODE_STRING MultiKeyPathU = RTL_CONSTANT_STRING(L"\\Registry\\Machine\\HARDWARE\\DESCRIPTION\\System\\MultifunctionAdapter");
UNICODE_STRING IdentifierU = RTL_CONSTANT_STRING(L"Identifier"); UNICODE_STRING IdentifierU = RTL_CONSTANT_STRING(L"Identifier");
UNICODE_STRING AcpiBiosIdentifier = RTL_CONSTANT_STRING(L"ACPI BIOS"); UNICODE_STRING AcpiBiosIdentifier = RTL_CONSTANT_STRING(L"ACPI BIOS");
OBJECT_ATTRIBUTES ObjectAttributes; OBJECT_ATTRIBUTES ObjectAttributes;
PKEY_BASIC_INFORMATION pDeviceInformation = NULL; PKEY_BASIC_INFORMATION pDeviceInformation = NULL;
ULONG DeviceInfoLength = sizeof(KEY_BASIC_INFORMATION) + 50 * sizeof(WCHAR); ULONG DeviceInfoLength = sizeof(KEY_BASIC_INFORMATION) + 50 * sizeof(WCHAR);
PKEY_VALUE_PARTIAL_INFORMATION pValueInformation = NULL; PKEY_VALUE_PARTIAL_INFORMATION pValueInformation = NULL;
ULONG ValueInfoLength = sizeof(KEY_VALUE_PARTIAL_INFORMATION) + 50 * sizeof(WCHAR); ULONG ValueInfoLength = sizeof(KEY_VALUE_PARTIAL_INFORMATION) + 50 * sizeof(WCHAR);
ULONG RequiredSize; ULONG RequiredSize;
ULONG IndexDevice = 0; ULONG IndexDevice = 0;
UNICODE_STRING DeviceName, ValueName; UNICODE_STRING DeviceName, ValueName;
HANDLE hDevicesKey = NULL; HANDLE hDevicesKey = NULL;
HANDLE hDeviceKey = NULL; HANDLE hDeviceKey = NULL;
NTSTATUS Status; NTSTATUS Status;
BOOLEAN ret = FALSE; BOOLEAN ret = FALSE;
InitializeObjectAttributes(&ObjectAttributes, &MultiKeyPathU, OBJ_CASE_INSENSITIVE, NULL, NULL); InitializeObjectAttributes(&ObjectAttributes,
Status = NtOpenKey(&hDevicesKey, KEY_ENUMERATE_SUB_KEYS, &ObjectAttributes); &MultiKeyPathU,
if (!NT_SUCCESS(Status)) OBJ_CASE_INSENSITIVE,
{ NULL,
DPRINT("NtOpenKey() failed with status 0x%08lx\n", Status); NULL);
goto cleanup; Status = NtOpenKey(&hDevicesKey,
} KEY_ENUMERATE_SUB_KEYS,
&ObjectAttributes);
if (!NT_SUCCESS(Status))
{
DPRINT("NtOpenKey() failed with status 0x%08lx\n", Status);
goto cleanup;
}
pDeviceInformation = RtlAllocateHeap(RtlGetProcessHeap(), 0, DeviceInfoLength); pDeviceInformation = RtlAllocateHeap(RtlGetProcessHeap(), 0, DeviceInfoLength);
if (!pDeviceInformation) if (!pDeviceInformation)
@ -170,9 +181,11 @@ cleanup:
} }
static BOOLEAN static
GetComputerIdentifier(PWSTR Identifier, BOOLEAN
ULONG IdentifierLength) GetComputerIdentifier(
PWSTR Identifier,
ULONG IdentifierLength)
{ {
OBJECT_ATTRIBUTES ObjectAttributes; OBJECT_ATTRIBUTES ObjectAttributes;
UNICODE_STRING KeyName; UNICODE_STRING KeyName;
@ -212,14 +225,12 @@ GetComputerIdentifier(PWSTR Identifier,
} }
/* Get number of subkeys */ /* Get number of subkeys */
Status = NtQueryKey( Status = NtQueryKey(ProcessorsKey,
ProcessorsKey, KeyFullInformation,
KeyFullInformation, pFullInfo,
pFullInfo, Size,
Size, &Size);
&Size);
NtClose(ProcessorsKey); NtClose(ProcessorsKey);
if (!NT_SUCCESS(Status) && Status != STATUS_BUFFER_OVERFLOW) if (!NT_SUCCESS(Status) && Status != STATUS_BUFFER_OVERFLOW)
{ {
DPRINT("NtQueryKey() failed (Status 0x%lx)\n", Status); DPRINT("NtQueryKey() failed (Status 0x%lx)\n", Status);
@ -276,7 +287,8 @@ GetComputerIdentifier(PWSTR Identifier,
PGENERIC_LIST PGENERIC_LIST
CreateComputerTypeList(HINF InfFile) CreateComputerTypeList(
HINF InfFile)
{ {
CHAR Buffer[128]; CHAR Buffer[128];
PGENERIC_LIST List; PGENERIC_LIST List;
@ -364,8 +376,10 @@ CreateComputerTypeList(HINF InfFile)
} }
static BOOLEAN static
GetDisplayIdentifier(PWSTR Identifier, BOOLEAN
GetDisplayIdentifier(
PWSTR Identifier,
ULONG IdentifierLength) ULONG IdentifierLength)
{ {
OBJECT_ATTRIBUTES ObjectAttributes; OBJECT_ATTRIBUTES ObjectAttributes;
@ -530,7 +544,8 @@ GetDisplayIdentifier(PWSTR Identifier,
PGENERIC_LIST PGENERIC_LIST
CreateDisplayDriverList(HINF InfFile) CreateDisplayDriverList(
HINF InfFile)
{ {
CHAR Buffer[128]; CHAR Buffer[128];
PGENERIC_LIST List; PGENERIC_LIST List;
@ -630,8 +645,12 @@ CreateDisplayDriverList(HINF InfFile)
return List; return List;
} }
BOOLEAN BOOLEAN
ProcessComputerFiles(HINF InfFile, PGENERIC_LIST List, PWCHAR* AdditionalSectionName) ProcessComputerFiles(
HINF InfFile,
PGENERIC_LIST List,
PWCHAR *AdditionalSectionName)
{ {
PGENERIC_LIST_ENTRY Entry; PGENERIC_LIST_ENTRY Entry;
static WCHAR SectionName[128]; static WCHAR SectionName[128];
@ -654,7 +673,9 @@ ProcessComputerFiles(HINF InfFile, PGENERIC_LIST List, PWCHAR* AdditionalSection
BOOLEAN BOOLEAN
ProcessDisplayRegistry(HINF InfFile, PGENERIC_LIST List) ProcessDisplayRegistry(
HINF InfFile,
PGENERIC_LIST List)
{ {
PGENERIC_LIST_ENTRY Entry; PGENERIC_LIST_ENTRY Entry;
INFCONTEXT Context; INFCONTEXT Context;
@ -692,12 +713,11 @@ ProcessDisplayRegistry(HINF InfFile, PGENERIC_LIST List)
StartValue = 1; StartValue = 1;
Status = RtlWriteRegistryValue(RTL_REGISTRY_SERVICES, Status = RtlWriteRegistryValue(RTL_REGISTRY_SERVICES,
ServiceName, ServiceName,
L"Start", L"Start",
REG_DWORD, REG_DWORD,
&StartValue, &StartValue,
sizeof(ULONG)); sizeof(ULONG));
if (!NT_SUCCESS(Status)) if (!NT_SUCCESS(Status))
{ {
DPRINT("RtlWriteRegistryValue() failed (Status %lx)\n", Status); DPRINT("RtlWriteRegistryValue() failed (Status %lx)\n", Status);
@ -715,11 +735,11 @@ ProcessDisplayRegistry(HINF InfFile, PGENERIC_LIST List)
Width = wcstoul(Buffer, NULL, 10); Width = wcstoul(Buffer, NULL, 10);
Status = RtlWriteRegistryValue(RTL_REGISTRY_ABSOLUTE, Status = RtlWriteRegistryValue(RTL_REGISTRY_ABSOLUTE,
RegPath, RegPath,
L"DefaultSettings.XResolution", L"DefaultSettings.XResolution",
REG_DWORD, REG_DWORD,
&Width, &Width,
sizeof(ULONG)); sizeof(ULONG));
if (!NT_SUCCESS(Status)) if (!NT_SUCCESS(Status))
{ {
DPRINT("RtlWriteRegistryValue() failed (Status %lx)\n", Status); DPRINT("RtlWriteRegistryValue() failed (Status %lx)\n", Status);
@ -734,11 +754,11 @@ ProcessDisplayRegistry(HINF InfFile, PGENERIC_LIST List)
Height = wcstoul(Buffer, 0, 0); Height = wcstoul(Buffer, 0, 0);
Status = RtlWriteRegistryValue(RTL_REGISTRY_ABSOLUTE, Status = RtlWriteRegistryValue(RTL_REGISTRY_ABSOLUTE,
RegPath, RegPath,
L"DefaultSettings.YResolution", L"DefaultSettings.YResolution",
REG_DWORD, REG_DWORD,
&Height, &Height,
sizeof(ULONG)); sizeof(ULONG));
if (!NT_SUCCESS(Status)) if (!NT_SUCCESS(Status))
{ {
DPRINT("RtlWriteRegistryValue() failed (Status %lx)\n", Status); DPRINT("RtlWriteRegistryValue() failed (Status %lx)\n", Status);
@ -753,11 +773,11 @@ ProcessDisplayRegistry(HINF InfFile, PGENERIC_LIST List)
Bpp = wcstoul(Buffer, 0, 0); Bpp = wcstoul(Buffer, 0, 0);
Status = RtlWriteRegistryValue(RTL_REGISTRY_ABSOLUTE, Status = RtlWriteRegistryValue(RTL_REGISTRY_ABSOLUTE,
RegPath, RegPath,
L"DefaultSettings.BitsPerPel", L"DefaultSettings.BitsPerPel",
REG_DWORD, REG_DWORD,
&Bpp, &Bpp,
sizeof(ULONG)); sizeof(ULONG));
if (!NT_SUCCESS(Status)) if (!NT_SUCCESS(Status))
{ {
DPRINT("RtlWriteRegistryValue() failed (Status %lx)\n", Status); DPRINT("RtlWriteRegistryValue() failed (Status %lx)\n", Status);
@ -771,7 +791,8 @@ ProcessDisplayRegistry(HINF InfFile, PGENERIC_LIST List)
BOOLEAN BOOLEAN
ProcessLocaleRegistry(PGENERIC_LIST List) ProcessLocaleRegistry(
PGENERIC_LIST List)
{ {
PGENERIC_LIST_ENTRY Entry; PGENERIC_LIST_ENTRY Entry;
PWCHAR LanguageId; PWCHAR LanguageId;
@ -807,7 +828,6 @@ ProcessLocaleRegistry(PGENERIC_LIST List)
Status = NtOpenKey(&KeyHandle, Status = NtOpenKey(&KeyHandle,
KEY_SET_VALUE, KEY_SET_VALUE,
&ObjectAttributes); &ObjectAttributes);
if (!NT_SUCCESS(Status)) if (!NT_SUCCESS(Status))
{ {
DPRINT1("NtOpenKey() failed (Status %lx)\n", Status); DPRINT1("NtOpenKey() failed (Status %lx)\n", Status);
@ -851,7 +871,8 @@ ProcessLocaleRegistry(PGENERIC_LIST List)
PGENERIC_LIST PGENERIC_LIST
CreateKeyboardDriverList(HINF InfFile) CreateKeyboardDriverList(
HINF InfFile)
{ {
CHAR Buffer[128]; CHAR Buffer[128];
PGENERIC_LIST List; PGENERIC_LIST List;
@ -879,9 +900,9 @@ CreateKeyboardDriverList(HINF InfFile)
break; break;
} }
UserData = (WCHAR*) RtlAllocateHeap(ProcessHeap, UserData = (WCHAR*)RtlAllocateHeap(ProcessHeap,
0, 0,
(wcslen(KeyName) + 1) * sizeof(WCHAR)); (wcslen(KeyName) + 1) * sizeof(WCHAR));
if (UserData == NULL) if (UserData == NULL)
{ {
/* FIXME: Handle error! */ /* FIXME: Handle error! */
@ -896,7 +917,6 @@ CreateKeyboardDriverList(HINF InfFile)
return List; return List;
} }
ULONG DefaultLanguageIndex = 0;
ULONG ULONG
GetDefaultLanguageIndex(VOID) GetDefaultLanguageIndex(VOID)
@ -904,8 +924,11 @@ GetDefaultLanguageIndex(VOID)
return DefaultLanguageIndex; return DefaultLanguageIndex;
} }
PGENERIC_LIST PGENERIC_LIST
CreateLanguageList(HINF InfFile, WCHAR * DefaultLanguage) CreateLanguageList(
HINF InfFile,
WCHAR *DefaultLanguage)
{ {
CHAR Buffer[128]; CHAR Buffer[128];
PGENERIC_LIST List; PGENERIC_LIST List;
@ -980,8 +1003,11 @@ CreateLanguageList(HINF InfFile, WCHAR * DefaultLanguage)
return List; return List;
} }
PGENERIC_LIST PGENERIC_LIST
CreateKeyboardLayoutList(HINF InfFile, WCHAR * DefaultKBLayout) CreateKeyboardLayoutList(
HINF InfFile,
WCHAR *DefaultKBLayout)
{ {
CHAR Buffer[128]; CHAR Buffer[128];
PGENERIC_LIST List; PGENERIC_LIST List;
@ -1028,10 +1054,9 @@ CreateKeyboardLayoutList(HINF InfFile, WCHAR * DefaultKBLayout)
if (_wcsicmp(LayoutsList[uIndex].LayoutID, KeyName) == 0) if (_wcsicmp(LayoutsList[uIndex].LayoutID, KeyName) == 0)
{ {
UserData = (WCHAR*) RtlAllocateHeap(ProcessHeap, UserData = (WCHAR*)RtlAllocateHeap(ProcessHeap,
0, 0,
(wcslen(KeyName) + 1) * sizeof(WCHAR)); (wcslen(KeyName) + 1) * sizeof(WCHAR));
if (UserData == NULL) if (UserData == NULL)
{ {
/* FIXME: Handle error! */ /* FIXME: Handle error! */
@ -1067,8 +1092,10 @@ CreateKeyboardLayoutList(HINF InfFile, WCHAR * DefaultKBLayout)
return List; return List;
} }
BOOLEAN BOOLEAN
ProcessKeyboardLayoutRegistry(PGENERIC_LIST List) ProcessKeyboardLayoutRegistry(
PGENERIC_LIST List)
{ {
PGENERIC_LIST_ENTRY Entry; PGENERIC_LIST_ENTRY Entry;
PWCHAR LayoutId; PWCHAR LayoutId;
@ -1117,14 +1144,17 @@ ProcessKeyboardLayoutRegistry(PGENERIC_LIST List)
#if 0 #if 0
BOOLEAN BOOLEAN
ProcessKeyboardLayoutFiles(PGENERIC_LIST List) ProcessKeyboardLayoutFiles(
PGENERIC_LIST List)
{ {
return TRUE; return TRUE;
} }
#endif #endif
BOOLEAN BOOLEAN
SetGeoID(PWCHAR Id) SetGeoID(
PWCHAR Id)
{ {
OBJECT_ATTRIBUTES ObjectAttributes; OBJECT_ATTRIBUTES ObjectAttributes;
UNICODE_STRING KeyName; UNICODE_STRING KeyName;
@ -1133,6 +1163,7 @@ SetGeoID(PWCHAR Id)
WCHAR szKeyName[] = L"\\Registry\\User\\.DEFAULT\\Control Panel\\International\\Geo"; WCHAR szKeyName[] = L"\\Registry\\User\\.DEFAULT\\Control Panel\\International\\Geo";
WCHAR szValueName[] = L"Nation"; WCHAR szValueName[] = L"Nation";
NTSTATUS Status; NTSTATUS Status;
RtlInitUnicodeString(&KeyName, RtlInitUnicodeString(&KeyName,
szKeyName); szKeyName);
InitializeObjectAttributes(&ObjectAttributes, InitializeObjectAttributes(&ObjectAttributes,
@ -1143,24 +1174,25 @@ SetGeoID(PWCHAR Id)
Status = NtOpenKey(&KeyHandle, Status = NtOpenKey(&KeyHandle,
KEY_SET_VALUE, KEY_SET_VALUE,
&ObjectAttributes); &ObjectAttributes);
if(!NT_SUCCESS(Status)) if(!NT_SUCCESS(Status))
{ {
DPRINT1("NtOpenKey() failed (Status %lx)\n", Status); DPRINT1("NtOpenKey() failed (Status %lx)\n", Status);
return FALSE; return FALSE;
} }
RtlInitUnicodeString(&ValueName, szValueName); RtlInitUnicodeString(&ValueName, szValueName);
Status = NtSetValueKey(KeyHandle, Status = NtSetValueKey(KeyHandle,
&ValueName, &ValueName,
0, 0,
REG_SZ, REG_SZ,
(PVOID)Id, (PVOID)Id,
(wcslen(Id) + 1) * sizeof(WCHAR)); (wcslen(Id) + 1) * sizeof(WCHAR));
NtClose(KeyHandle); NtClose(KeyHandle);
if (!NT_SUCCESS(Status)) if (!NT_SUCCESS(Status))
{ {
DPRINT1("NtSetValueKey() failed (Status = %lx)\n", Status); DPRINT1("NtSetValueKey() failed (Status = %lx)\n", Status);
return FALSE; return FALSE;
} }
return TRUE; return TRUE;

View file

@ -27,42 +27,55 @@
#pragma once #pragma once
PGENERIC_LIST PGENERIC_LIST
CreateComputerTypeList(HINF InfFile); CreateComputerTypeList(
HINF InfFile);
PGENERIC_LIST PGENERIC_LIST
CreateDisplayDriverList(HINF InfFile); CreateDisplayDriverList(
HINF InfFile);
BOOLEAN BOOLEAN
ProcessComputerFiles(HINF InfFile, ProcessComputerFiles(
PGENERIC_LIST List, HINF InfFile,
PWCHAR* AdditionalSectionName); PGENERIC_LIST List,
PWCHAR *AdditionalSectionName);
BOOLEAN BOOLEAN
ProcessDisplayRegistry(HINF InfFile, ProcessDisplayRegistry(
PGENERIC_LIST List); HINF InfFile,
PGENERIC_LIST List);
PGENERIC_LIST PGENERIC_LIST
CreateKeyboardDriverList(HINF InfFile); CreateKeyboardDriverList(
HINF InfFile);
PGENERIC_LIST PGENERIC_LIST
CreateKeyboardLayoutList(HINF InfFile, WCHAR *DefaultKBLayout); CreateKeyboardLayoutList(
HINF InfFile,
WCHAR *DefaultKBLayout);
PGENERIC_LIST PGENERIC_LIST
CreateLanguageList(HINF InfFile, WCHAR * DefaultLanguage); CreateLanguageList(
HINF InfFile,
WCHAR *DefaultLanguage);
ULONG ULONG
GetDefaultLanguageIndex(VOID); GetDefaultLanguageIndex(VOID);
BOOLEAN BOOLEAN
ProcessLocaleRegistry(PGENERIC_LIST List); ProcessLocaleRegistry(
PGENERIC_LIST List);
BOOLEAN BOOLEAN
ProcessKeyboardLayoutRegistry(PGENERIC_LIST List); ProcessKeyboardLayoutRegistry(
PGENERIC_LIST List);
BOOLEAN BOOLEAN
ProcessKeyboardLayoutFiles(PGENERIC_LIST List); ProcessKeyboardLayoutFiles(
PGENERIC_LIST List);
BOOLEAN BOOLEAN
SetGeoID(PWCHAR Id); SetGeoID(
PWCHAR Id);
/* EOF */ /* EOF */

View file

@ -113,43 +113,43 @@ extern BOOLEAN InfGetStringField(PINFCONTEXT Context,
#define _PAGE_NUMBER_DEFINED #define _PAGE_NUMBER_DEFINED
typedef enum _PAGE_NUMBER typedef enum _PAGE_NUMBER
{ {
START_PAGE, START_PAGE,
LANGUAGE_PAGE, LANGUAGE_PAGE,
INTRO_PAGE, INTRO_PAGE,
LICENSE_PAGE, LICENSE_PAGE,
INSTALL_INTRO_PAGE, INSTALL_INTRO_PAGE,
// SCSI_CONTROLLER_PAGE, // SCSI_CONTROLLER_PAGE,
DEVICE_SETTINGS_PAGE, DEVICE_SETTINGS_PAGE,
COMPUTER_SETTINGS_PAGE, COMPUTER_SETTINGS_PAGE,
DISPLAY_SETTINGS_PAGE, DISPLAY_SETTINGS_PAGE,
KEYBOARD_SETTINGS_PAGE, KEYBOARD_SETTINGS_PAGE,
LAYOUT_SETTINGS_PAGE, LAYOUT_SETTINGS_PAGE,
SELECT_PARTITION_PAGE, SELECT_PARTITION_PAGE,
CREATE_PARTITION_PAGE, CREATE_PARTITION_PAGE,
DELETE_PARTITION_PAGE, DELETE_PARTITION_PAGE,
SELECT_FILE_SYSTEM_PAGE, SELECT_FILE_SYSTEM_PAGE,
FORMAT_PARTITION_PAGE, FORMAT_PARTITION_PAGE,
CHECK_FILE_SYSTEM_PAGE, CHECK_FILE_SYSTEM_PAGE,
PREPARE_COPY_PAGE, PREPARE_COPY_PAGE,
INSTALL_DIRECTORY_PAGE, INSTALL_DIRECTORY_PAGE,
FILE_COPY_PAGE, FILE_COPY_PAGE,
REGISTRY_PAGE, REGISTRY_PAGE,
BOOT_LOADER_PAGE, BOOT_LOADER_PAGE,
BOOT_LOADER_FLOPPY_PAGE, BOOT_LOADER_FLOPPY_PAGE,
BOOT_LOADER_HARDDISK_MBR_PAGE, BOOT_LOADER_HARDDISK_MBR_PAGE,
BOOT_LOADER_HARDDISK_VBR_PAGE, BOOT_LOADER_HARDDISK_VBR_PAGE,
REPAIR_INTRO_PAGE, REPAIR_INTRO_PAGE,
SUCCESS_PAGE, SUCCESS_PAGE,
QUIT_PAGE, QUIT_PAGE,
FLUSH_PAGE, FLUSH_PAGE,
REBOOT_PAGE, /* virtual page */ REBOOT_PAGE, /* virtual page */
} PAGE_NUMBER, *PPAGE_NUMBER; } PAGE_NUMBER, *PPAGE_NUMBER;
#endif #endif