mirror of
https://github.com/reactos/reactos.git
synced 2024-07-01 18:24:24 +00:00
[FORMATTING]
Fix indentation and coding style. No code changes! svn path=/trunk/; revision=63259
This commit is contained in:
parent
5da1f1a63b
commit
3def58e0ff
|
@ -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 */
|
||||
#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
|
||||
#ifdef LANGUAGE_SQ_AL
|
||||
{L"0000041C", L"1250", L"852", L"10029", L"Albanian (Albania)", L"355", sqALPages, sqALErrorEntries, sqALStrings, LatinFonts, sqALLayouts },
|
||||
#endif
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
#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
|
||||
{NULL, NULL, NULL, NULL, NULL, NULL}
|
||||
{NULL, NULL, NULL, NULL, NULL, NULL}
|
||||
};
|
||||
|
|
|
@ -9,362 +9,372 @@
|
|||
/* FUNCTIONS ****************************************************************/
|
||||
|
||||
|
||||
static VOID
|
||||
DrawBorder(PPROGRESSBAR Bar)
|
||||
static
|
||||
VOID
|
||||
DrawBorder(
|
||||
PPROGRESSBAR Bar)
|
||||
{
|
||||
COORD coPos;
|
||||
DWORD Written;
|
||||
SHORT i;
|
||||
COORD coPos;
|
||||
DWORD Written;
|
||||
SHORT i;
|
||||
|
||||
/* draw upper left corner */
|
||||
coPos.X = Bar->Left;
|
||||
coPos.Y = Bar->Top + 1;
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
0xDA, // '+',
|
||||
1,
|
||||
coPos,
|
||||
&Written);
|
||||
/* draw upper left corner */
|
||||
coPos.X = Bar->Left;
|
||||
coPos.Y = Bar->Top + 1;
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
0xDA, // '+',
|
||||
1,
|
||||
coPos,
|
||||
&Written);
|
||||
|
||||
/* draw upper edge */
|
||||
coPos.X = Bar->Left + 1;
|
||||
coPos.Y = Bar->Top + 1;
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
0xC4, // '-',
|
||||
Bar->Right - Bar->Left - 1,
|
||||
coPos,
|
||||
&Written);
|
||||
/* draw upper edge */
|
||||
coPos.X = Bar->Left + 1;
|
||||
coPos.Y = Bar->Top + 1;
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
0xC4, // '-',
|
||||
Bar->Right - Bar->Left - 1,
|
||||
coPos,
|
||||
&Written);
|
||||
|
||||
/* draw upper right corner */
|
||||
coPos.X = Bar->Right;
|
||||
coPos.Y = Bar->Top + 1;
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
0xBF, // '+',
|
||||
1,
|
||||
coPos,
|
||||
&Written);
|
||||
/* draw upper right corner */
|
||||
coPos.X = Bar->Right;
|
||||
coPos.Y = Bar->Top + 1;
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
0xBF, // '+',
|
||||
1,
|
||||
coPos,
|
||||
&Written);
|
||||
|
||||
/* draw left and right edge */
|
||||
for (i = Bar->Top + 2; i < Bar->Bottom; i++)
|
||||
/* draw left and right edge */
|
||||
for (i = Bar->Top + 2; i < Bar->Bottom; i++)
|
||||
{
|
||||
coPos.X = Bar->Left;
|
||||
coPos.Y = i;
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
0xB3, // '|',
|
||||
1,
|
||||
coPos,
|
||||
&Written);
|
||||
coPos.X = Bar->Left;
|
||||
coPos.Y = i;
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
0xB3, // '|',
|
||||
1,
|
||||
coPos,
|
||||
&Written);
|
||||
|
||||
coPos.X = Bar->Right;
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
0xB3, //'|',
|
||||
1,
|
||||
coPos,
|
||||
&Written);
|
||||
coPos.X = Bar->Right;
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
0xB3, //'|',
|
||||
1,
|
||||
coPos,
|
||||
&Written);
|
||||
}
|
||||
|
||||
/* draw lower left corner */
|
||||
coPos.X = Bar->Left;
|
||||
coPos.Y = Bar->Bottom;
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
0xC0, // '+',
|
||||
1,
|
||||
coPos,
|
||||
&Written);
|
||||
/* draw lower left corner */
|
||||
coPos.X = Bar->Left;
|
||||
coPos.Y = Bar->Bottom;
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
0xC0, // '+',
|
||||
1,
|
||||
coPos,
|
||||
&Written);
|
||||
|
||||
/* draw lower edge */
|
||||
coPos.X = Bar->Left + 1;
|
||||
coPos.Y = Bar->Bottom;
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
0xC4, // '-',
|
||||
Bar->Right - Bar->Left - 1,
|
||||
coPos,
|
||||
&Written);
|
||||
/* draw lower edge */
|
||||
coPos.X = Bar->Left + 1;
|
||||
coPos.Y = Bar->Bottom;
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
0xC4, // '-',
|
||||
Bar->Right - Bar->Left - 1,
|
||||
coPos,
|
||||
&Written);
|
||||
|
||||
/* draw lower right corner */
|
||||
coPos.X = Bar->Right;
|
||||
coPos.Y = Bar->Bottom;
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
0xD9, // '+',
|
||||
1,
|
||||
coPos,
|
||||
&Written);
|
||||
/* draw lower right corner */
|
||||
coPos.X = Bar->Right;
|
||||
coPos.Y = Bar->Bottom;
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
0xD9, // '+',
|
||||
1,
|
||||
coPos,
|
||||
&Written);
|
||||
}
|
||||
|
||||
static VOID
|
||||
DrawThickBorder(PPROGRESSBAR Bar)
|
||||
|
||||
static
|
||||
VOID
|
||||
DrawThickBorder(
|
||||
PPROGRESSBAR Bar)
|
||||
{
|
||||
COORD coPos;
|
||||
DWORD Written;
|
||||
SHORT i;
|
||||
COORD coPos;
|
||||
DWORD Written;
|
||||
SHORT i;
|
||||
|
||||
/* draw upper left corner */
|
||||
coPos.X = Bar->Left;
|
||||
coPos.Y = Bar->Top + 1;
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
0xC9, // '+',
|
||||
1,
|
||||
coPos,
|
||||
&Written);
|
||||
/* draw upper left corner */
|
||||
coPos.X = Bar->Left;
|
||||
coPos.Y = Bar->Top + 1;
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
0xC9, // '+',
|
||||
1,
|
||||
coPos,
|
||||
&Written);
|
||||
|
||||
/* draw upper edge */
|
||||
coPos.X = Bar->Left + 1;
|
||||
coPos.Y = Bar->Top + 1;
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
0xCD, // '-',
|
||||
Bar->Right - Bar->Left - 1,
|
||||
coPos,
|
||||
&Written);
|
||||
/* draw upper edge */
|
||||
coPos.X = Bar->Left + 1;
|
||||
coPos.Y = Bar->Top + 1;
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
0xCD, // '-',
|
||||
Bar->Right - Bar->Left - 1,
|
||||
coPos,
|
||||
&Written);
|
||||
|
||||
/* draw upper right corner */
|
||||
coPos.X = Bar->Right;
|
||||
coPos.Y = Bar->Top + 1;
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
0xBB, // '+',
|
||||
1,
|
||||
coPos,
|
||||
&Written);
|
||||
/* draw upper right corner */
|
||||
coPos.X = Bar->Right;
|
||||
coPos.Y = Bar->Top + 1;
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
0xBB, // '+',
|
||||
1,
|
||||
coPos,
|
||||
&Written);
|
||||
|
||||
/* draw left and right edge */
|
||||
for (i = Bar->Top + 2; i < Bar->Bottom; i++)
|
||||
/* draw left and right edge */
|
||||
for (i = Bar->Top + 2; i < Bar->Bottom; i++)
|
||||
{
|
||||
coPos.X = Bar->Left;
|
||||
coPos.Y = i;
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
0xBA, // '|',
|
||||
1,
|
||||
coPos,
|
||||
&Written);
|
||||
coPos.X = Bar->Left;
|
||||
coPos.Y = i;
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
0xBA, // '|',
|
||||
1,
|
||||
coPos,
|
||||
&Written);
|
||||
|
||||
coPos.X = Bar->Right;
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
0xBA, //'|',
|
||||
1,
|
||||
coPos,
|
||||
&Written);
|
||||
coPos.X = Bar->Right;
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
0xBA, //'|',
|
||||
1,
|
||||
coPos,
|
||||
&Written);
|
||||
}
|
||||
|
||||
/* draw lower left corner */
|
||||
coPos.X = Bar->Left;
|
||||
coPos.Y = Bar->Bottom;
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
0xC8, // '+',
|
||||
1,
|
||||
coPos,
|
||||
&Written);
|
||||
/* draw lower left corner */
|
||||
coPos.X = Bar->Left;
|
||||
coPos.Y = Bar->Bottom;
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
0xC8, // '+',
|
||||
1,
|
||||
coPos,
|
||||
&Written);
|
||||
|
||||
/* draw lower edge */
|
||||
coPos.X = Bar->Left + 1;
|
||||
coPos.Y = Bar->Bottom;
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
0xCD, // '-',
|
||||
Bar->Right - Bar->Left - 1,
|
||||
coPos,
|
||||
&Written);
|
||||
/* draw lower edge */
|
||||
coPos.X = Bar->Left + 1;
|
||||
coPos.Y = Bar->Bottom;
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
0xCD, // '-',
|
||||
Bar->Right - Bar->Left - 1,
|
||||
coPos,
|
||||
&Written);
|
||||
|
||||
/* draw lower right corner */
|
||||
coPos.X = Bar->Right;
|
||||
coPos.Y = Bar->Bottom;
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
0xBC, // '+',
|
||||
1,
|
||||
coPos,
|
||||
&Written);
|
||||
/* draw lower right corner */
|
||||
coPos.X = Bar->Right;
|
||||
coPos.Y = Bar->Bottom;
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
0xBC, // '+',
|
||||
1,
|
||||
coPos,
|
||||
&Written);
|
||||
}
|
||||
|
||||
static VOID
|
||||
DrawProgressBar(PPROGRESSBAR Bar)
|
||||
|
||||
static
|
||||
VOID
|
||||
DrawProgressBar(
|
||||
PPROGRESSBAR Bar)
|
||||
{
|
||||
CHAR TextBuffer[8];
|
||||
COORD coPos;
|
||||
DWORD Written;
|
||||
PROGRESSBAR BarBorder = *Bar;
|
||||
CHAR TextBuffer[8];
|
||||
COORD coPos;
|
||||
DWORD Written;
|
||||
PROGRESSBAR BarBorder = *Bar;
|
||||
|
||||
/* Print percentage */
|
||||
sprintf(TextBuffer, "%-3lu%%", Bar->Percent);
|
||||
/* Print percentage */
|
||||
sprintf(TextBuffer, "%-3lu%%", Bar->Percent);
|
||||
|
||||
coPos.X = Bar->Left + (Bar->Width - 2) / 2;
|
||||
coPos.Y = Bar->Top;
|
||||
WriteConsoleOutputCharacterA(StdOutput,
|
||||
TextBuffer,
|
||||
4,
|
||||
coPos,
|
||||
&Written);
|
||||
coPos.X = Bar->Left + (Bar->Width - 2) / 2;
|
||||
coPos.Y = Bar->Top;
|
||||
WriteConsoleOutputCharacterA(StdOutput,
|
||||
TextBuffer,
|
||||
4,
|
||||
coPos,
|
||||
&Written);
|
||||
|
||||
/* Draw the progress bar border */
|
||||
DrawBorder(Bar);
|
||||
/* Draw the progress bar border */
|
||||
DrawBorder(Bar);
|
||||
|
||||
/* Write Text Associated with Bar */
|
||||
CONSOLE_SetTextXY(Bar->TextTop, Bar->TextRight, Bar->Text);
|
||||
/* Write Text Associated with Bar */
|
||||
CONSOLE_SetTextXY(Bar->TextTop, Bar->TextRight, Bar->Text);
|
||||
|
||||
/* Draw the progress bar "border" border */
|
||||
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++)
|
||||
/* Draw the progress bar "border" border */
|
||||
if (Bar->Double)
|
||||
{
|
||||
FillConsoleOutputAttribute(StdOutput,
|
||||
FOREGROUND_YELLOW | BACKGROUND_BLUE,
|
||||
Bar->Width - 2,
|
||||
coPos,
|
||||
&Written);
|
||||
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
' ',
|
||||
Bar->Width - 2,
|
||||
coPos,
|
||||
&Written);
|
||||
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,
|
||||
FOREGROUND_YELLOW | BACKGROUND_BLUE,
|
||||
Bar->Width - 2,
|
||||
coPos,
|
||||
&Written);
|
||||
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
' ',
|
||||
Bar->Width - 2,
|
||||
coPos,
|
||||
&Written);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
PPROGRESSBAR
|
||||
CreateProgressBar(SHORT Left,
|
||||
SHORT Top,
|
||||
SHORT Right,
|
||||
SHORT Bottom,
|
||||
SHORT TextTop,
|
||||
SHORT TextRight,
|
||||
IN BOOLEAN DoubleEdge,
|
||||
char* Text)
|
||||
CreateProgressBar(
|
||||
SHORT Left,
|
||||
SHORT Top,
|
||||
SHORT Right,
|
||||
SHORT Bottom,
|
||||
SHORT TextTop,
|
||||
SHORT TextRight,
|
||||
IN BOOLEAN DoubleEdge,
|
||||
CHAR *Text)
|
||||
{
|
||||
PPROGRESSBAR Bar;
|
||||
PPROGRESSBAR Bar;
|
||||
|
||||
Bar = (PPROGRESSBAR)RtlAllocateHeap(ProcessHeap,
|
||||
0,
|
||||
sizeof(PROGRESSBAR));
|
||||
if (Bar == NULL)
|
||||
return(NULL);
|
||||
Bar = (PPROGRESSBAR)RtlAllocateHeap(ProcessHeap,
|
||||
0,
|
||||
sizeof(PROGRESSBAR));
|
||||
if (Bar == NULL)
|
||||
return NULL;
|
||||
|
||||
Bar->Left = Left;
|
||||
Bar->Top = Top;
|
||||
Bar->Right = Right;
|
||||
Bar->Bottom = Bottom;
|
||||
Bar->TextTop = TextTop;
|
||||
Bar->TextRight = TextRight;
|
||||
Bar->Double = DoubleEdge;
|
||||
Bar->Text = Text;
|
||||
Bar->Left = Left;
|
||||
Bar->Top = Top;
|
||||
Bar->Right = Right;
|
||||
Bar->Bottom = Bottom;
|
||||
Bar->TextTop = TextTop;
|
||||
Bar->TextRight = TextRight;
|
||||
Bar->Double = DoubleEdge;
|
||||
Bar->Text = Text;
|
||||
|
||||
Bar->Width = Bar->Right - Bar->Left + 1;
|
||||
Bar->Width = Bar->Right - Bar->Left + 1;
|
||||
|
||||
Bar->Percent = 0;
|
||||
Bar->Pos = 0;
|
||||
Bar->Percent = 0;
|
||||
Bar->Pos = 0;
|
||||
|
||||
Bar->StepCount = 0;
|
||||
Bar->CurrentStep = 0;
|
||||
Bar->StepCount = 0;
|
||||
Bar->CurrentStep = 0;
|
||||
|
||||
DrawProgressBar(Bar);
|
||||
DrawProgressBar(Bar);
|
||||
|
||||
return(Bar);
|
||||
return Bar;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
DestroyProgressBar(PPROGRESSBAR Bar)
|
||||
DestroyProgressBar(
|
||||
PPROGRESSBAR Bar)
|
||||
{
|
||||
RtlFreeHeap(ProcessHeap,
|
||||
0,
|
||||
Bar);
|
||||
}
|
||||
|
||||
VOID
|
||||
ProgressSetStepCount(PPROGRESSBAR Bar,
|
||||
ULONG StepCount)
|
||||
{
|
||||
Bar->CurrentStep = 0;
|
||||
Bar->StepCount = StepCount;
|
||||
|
||||
DrawProgressBar(Bar);
|
||||
RtlFreeHeap(ProcessHeap, 0, Bar);
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
ProgressNextStep(PPROGRESSBAR Bar)
|
||||
ProgressSetStepCount(
|
||||
PPROGRESSBAR Bar,
|
||||
ULONG StepCount)
|
||||
{
|
||||
ProgressSetStep(Bar, Bar->CurrentStep + 1);
|
||||
Bar->CurrentStep = 0;
|
||||
Bar->StepCount = StepCount;
|
||||
|
||||
DrawProgressBar(Bar);
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
ProgressSetStep (PPROGRESSBAR Bar,
|
||||
ULONG Step)
|
||||
ProgressNextStep(
|
||||
PPROGRESSBAR Bar)
|
||||
{
|
||||
CHAR TextBuffer[8];
|
||||
COORD coPos;
|
||||
DWORD Written;
|
||||
ULONG NewPercent;
|
||||
ULONG NewPos;
|
||||
ProgressSetStep(Bar, Bar->CurrentStep + 1);
|
||||
}
|
||||
|
||||
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 */
|
||||
NewPercent = (ULONG)(((100.0 * (float)Bar->CurrentStep) / (float)Bar->StepCount) + 0.5);
|
||||
if (Step > Bar->StepCount)
|
||||
return;
|
||||
|
||||
/* Redraw precentage if changed */
|
||||
if (Bar->Percent != NewPercent)
|
||||
Bar->CurrentStep = Step;
|
||||
|
||||
/* 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.Y = Bar->Top;
|
||||
WriteConsoleOutputCharacterA(StdOutput,
|
||||
TextBuffer,
|
||||
4,
|
||||
coPos,
|
||||
&Written);
|
||||
coPos.X = Bar->Left + (Bar->Width - 2) / 2;
|
||||
coPos.Y = Bar->Top;
|
||||
WriteConsoleOutputCharacterA(StdOutput,
|
||||
TextBuffer,
|
||||
4,
|
||||
coPos,
|
||||
&Written);
|
||||
}
|
||||
|
||||
/* Calculate bar position */
|
||||
NewPos = (ULONG)((((float)(Bar->Width - 2) * 2.0 * (float)Bar->CurrentStep) / (float)Bar->StepCount) + 0.5);
|
||||
/* Calculate bar position */
|
||||
NewPos = (ULONG)((((float)(Bar->Width - 2) * 2.0 * (float)Bar->CurrentStep) / (float)Bar->StepCount) + 0.5);
|
||||
|
||||
/* Redraw bar if changed */
|
||||
if (Bar->Pos != NewPos)
|
||||
/* Redraw bar if changed */
|
||||
if (Bar->Pos != NewPos)
|
||||
{
|
||||
Bar->Pos = NewPos;
|
||||
Bar->Pos = NewPos;
|
||||
|
||||
for (coPos.Y = Bar->Top + 2; coPos.Y <= Bar->Bottom - 1; coPos.Y++)
|
||||
{
|
||||
coPos.X = Bar->Left + 1;
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
0xDB,
|
||||
Bar->Pos / 2,
|
||||
coPos,
|
||||
&Written);
|
||||
coPos.X += Bar->Pos/2;
|
||||
for (coPos.Y = Bar->Top + 2; coPos.Y <= Bar->Bottom - 1; coPos.Y++)
|
||||
{
|
||||
coPos.X = Bar->Left + 1;
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
0xDB,
|
||||
Bar->Pos / 2,
|
||||
coPos,
|
||||
&Written);
|
||||
coPos.X += Bar->Pos/2;
|
||||
|
||||
if (NewPos & 1)
|
||||
{
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
0xDD,
|
||||
1,
|
||||
coPos,
|
||||
&Written);
|
||||
coPos.X++;
|
||||
}
|
||||
if (NewPos & 1)
|
||||
{
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
0xDD,
|
||||
1,
|
||||
coPos,
|
||||
&Written);
|
||||
coPos.X++;
|
||||
}
|
||||
|
||||
if (coPos.X <= Bar->Right - 1)
|
||||
{
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
' ',
|
||||
Bar->Right - coPos.X,
|
||||
coPos,
|
||||
&Written);
|
||||
}
|
||||
}
|
||||
if (coPos.X <= Bar->Right - 1)
|
||||
{
|
||||
FillConsoleOutputCharacterA(StdOutput,
|
||||
' ',
|
||||
Bar->Right - coPos.X,
|
||||
coPos,
|
||||
&Written);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -28,49 +28,54 @@
|
|||
|
||||
typedef struct _PROGRESS
|
||||
{
|
||||
SHORT Left;
|
||||
SHORT Top;
|
||||
SHORT Right;
|
||||
SHORT Bottom;
|
||||
SHORT TextTop;
|
||||
SHORT TextRight;
|
||||
SHORT Left;
|
||||
SHORT Top;
|
||||
SHORT Right;
|
||||
SHORT Bottom;
|
||||
SHORT TextTop;
|
||||
SHORT TextRight;
|
||||
|
||||
SHORT Width;
|
||||
SHORT Width;
|
||||
|
||||
ULONG Percent;
|
||||
SHORT Pos;
|
||||
ULONG Percent;
|
||||
SHORT Pos;
|
||||
|
||||
ULONG StepCount;
|
||||
ULONG CurrentStep;
|
||||
ULONG StepCount;
|
||||
ULONG CurrentStep;
|
||||
|
||||
BOOLEAN Double;
|
||||
CHAR *Text;
|
||||
BOOLEAN Double;
|
||||
CHAR *Text;
|
||||
} PROGRESSBAR, *PPROGRESSBAR;
|
||||
|
||||
/* FUNCTIONS ****************************************************************/
|
||||
|
||||
PPROGRESSBAR
|
||||
CreateProgressBar(SHORT Left,
|
||||
SHORT Top,
|
||||
SHORT Right,
|
||||
SHORT Bottom,
|
||||
SHORT TextTop,
|
||||
SHORT TextRight,
|
||||
BOOLEAN DoubleEdge,
|
||||
char* Text);
|
||||
CreateProgressBar(
|
||||
SHORT Left,
|
||||
SHORT Top,
|
||||
SHORT Right,
|
||||
SHORT Bottom,
|
||||
SHORT TextTop,
|
||||
SHORT TextRight,
|
||||
BOOLEAN DoubleEdge,
|
||||
CHAR *Text);
|
||||
|
||||
VOID
|
||||
DestroyProgressBar(PPROGRESSBAR Bar);
|
||||
DestroyProgressBar(
|
||||
PPROGRESSBAR Bar);
|
||||
|
||||
VOID
|
||||
ProgressSetStepCount(PPROGRESSBAR Bar,
|
||||
ULONG StepCount);
|
||||
ProgressSetStepCount(
|
||||
PPROGRESSBAR Bar,
|
||||
ULONG StepCount);
|
||||
|
||||
VOID
|
||||
ProgressNextStep(PPROGRESSBAR Bar);
|
||||
ProgressNextStep(
|
||||
PPROGRESSBAR Bar);
|
||||
|
||||
VOID
|
||||
ProgressSetStep (PPROGRESSBAR Bar,
|
||||
ULONG Step);
|
||||
ProgressSetStep(
|
||||
PPROGRESSBAR Bar,
|
||||
ULONG Step);
|
||||
|
||||
/* EOF */
|
||||
|
|
|
@ -63,47 +63,49 @@
|
|||
|
||||
typedef struct _REG_DISK_MOUNT_INFO
|
||||
{
|
||||
ULONG Signature;
|
||||
LARGE_INTEGER StartingOffset;
|
||||
ULONG Signature;
|
||||
LARGE_INTEGER StartingOffset;
|
||||
} REG_DISK_MOUNT_INFO, *PREG_DISK_MOUNT_INFO;
|
||||
|
||||
#include <poppack.h>
|
||||
|
||||
/* FUNCTIONS ****************************************************************/
|
||||
|
||||
static BOOLEAN
|
||||
GetRootKey (PWCHAR Name)
|
||||
static
|
||||
BOOLEAN
|
||||
GetRootKey(
|
||||
PWCHAR Name)
|
||||
{
|
||||
if (!_wcsicmp (Name, L"HKCR"))
|
||||
if (!_wcsicmp (Name, L"HKCR"))
|
||||
{
|
||||
wcscpy (Name, L"\\Registry\\Machine\\SOFTWARE\\Classes\\");
|
||||
return TRUE;
|
||||
wcscpy (Name, L"\\Registry\\Machine\\SOFTWARE\\Classes\\");
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (!_wcsicmp (Name, L"HKCU"))
|
||||
if (!_wcsicmp (Name, L"HKCU"))
|
||||
{
|
||||
wcscpy (Name, L"\\Registry\\User\\.DEFAULT\\");
|
||||
return TRUE;
|
||||
wcscpy (Name, L"\\Registry\\User\\.DEFAULT\\");
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (!_wcsicmp (Name, L"HKLM"))
|
||||
if (!_wcsicmp (Name, L"HKLM"))
|
||||
{
|
||||
wcscpy (Name, L"\\Registry\\Machine\\");
|
||||
return TRUE;
|
||||
wcscpy (Name, L"\\Registry\\Machine\\");
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (!_wcsicmp (Name, L"HKU"))
|
||||
if (!_wcsicmp (Name, L"HKU"))
|
||||
{
|
||||
wcscpy (Name, L"\\Registry\\User\\");
|
||||
return TRUE;
|
||||
wcscpy (Name, L"\\Registry\\User\\");
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
#if 0
|
||||
if (!_wcsicmp (Name, L"HKR"))
|
||||
return FALSE;
|
||||
if (!_wcsicmp (Name, L"HKR"))
|
||||
return FALSE;
|
||||
#endif
|
||||
|
||||
return FALSE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
|
@ -500,7 +502,7 @@ CreateNestedKey (PHANDLE KeyHandle,
|
|||
* Called once for each AddReg and DelReg entry in a given section.
|
||||
*/
|
||||
static BOOLEAN
|
||||
registry_callback (HINF hInf, PCWSTR Section, BOOLEAN Delete)
|
||||
registry_callback(HINF hInf, PCWSTR Section, BOOLEAN Delete)
|
||||
{
|
||||
OBJECT_ATTRIBUTES ObjectAttributes;
|
||||
WCHAR Buffer[MAX_INF_STRING_LENGTH];
|
||||
|
@ -624,148 +626,154 @@ registry_callback (HINF hInf, PCWSTR Section, BOOLEAN Delete)
|
|||
|
||||
|
||||
BOOLEAN
|
||||
ImportRegistryFile(PWSTR Filename,
|
||||
PWSTR Section,
|
||||
LCID LocaleId,
|
||||
BOOLEAN Delete)
|
||||
ImportRegistryFile(
|
||||
PWSTR Filename,
|
||||
PWSTR Section,
|
||||
LCID LocaleId,
|
||||
BOOLEAN Delete)
|
||||
{
|
||||
WCHAR FileNameBuffer[MAX_PATH];
|
||||
HINF hInf;
|
||||
UINT ErrorLine;
|
||||
WCHAR FileNameBuffer[MAX_PATH];
|
||||
HINF hInf;
|
||||
UINT ErrorLine;
|
||||
|
||||
/* Load inf file from install media. */
|
||||
wcscpy(FileNameBuffer, SourcePath.Buffer);
|
||||
wcscat(FileNameBuffer, L"\\");
|
||||
wcscat(FileNameBuffer, Filename);
|
||||
/* Load inf file from install media. */
|
||||
wcscpy(FileNameBuffer, SourcePath.Buffer);
|
||||
wcscat(FileNameBuffer, L"\\");
|
||||
wcscat(FileNameBuffer, Filename);
|
||||
|
||||
hInf = SetupOpenInfFileW(
|
||||
FileNameBuffer,
|
||||
NULL,
|
||||
INF_STYLE_WIN4,
|
||||
LocaleId,
|
||||
&ErrorLine);
|
||||
if (hInf == INVALID_HANDLE_VALUE)
|
||||
hInf = SetupOpenInfFileW(FileNameBuffer,
|
||||
NULL,
|
||||
INF_STYLE_WIN4,
|
||||
LocaleId,
|
||||
&ErrorLine);
|
||||
if (hInf == INVALID_HANDLE_VALUE)
|
||||
{
|
||||
DPRINT1("SetupOpenInfFile() failed\n");
|
||||
return FALSE;
|
||||
DPRINT1("SetupOpenInfFile() failed\n");
|
||||
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
|
||||
SetInstallPathValue(PUNICODE_STRING InstallPath)
|
||||
SetInstallPathValue(
|
||||
PUNICODE_STRING InstallPath)
|
||||
{
|
||||
OBJECT_ATTRIBUTES ObjectAttributes;
|
||||
UNICODE_STRING KeyName = RTL_CONSTANT_STRING(L"\\Registry\\Machine\\HARDWARE");
|
||||
UNICODE_STRING ValueName = RTL_CONSTANT_STRING(L"InstallPath");
|
||||
HANDLE KeyHandle;
|
||||
NTSTATUS Status;
|
||||
OBJECT_ATTRIBUTES ObjectAttributes;
|
||||
UNICODE_STRING KeyName = RTL_CONSTANT_STRING(L"\\Registry\\Machine\\HARDWARE");
|
||||
UNICODE_STRING ValueName = RTL_CONSTANT_STRING(L"InstallPath");
|
||||
HANDLE KeyHandle;
|
||||
NTSTATUS Status;
|
||||
|
||||
/* Create the 'secret' InstallPath key */
|
||||
InitializeObjectAttributes (&ObjectAttributes,
|
||||
&KeyName,
|
||||
OBJ_CASE_INSENSITIVE,
|
||||
NULL,
|
||||
NULL);
|
||||
Status = NtOpenKey (&KeyHandle,
|
||||
KEY_ALL_ACCESS,
|
||||
&ObjectAttributes);
|
||||
if (!NT_SUCCESS(Status))
|
||||
/* Create the 'secret' InstallPath key */
|
||||
InitializeObjectAttributes(&ObjectAttributes,
|
||||
&KeyName,
|
||||
OBJ_CASE_INSENSITIVE,
|
||||
NULL,
|
||||
NULL);
|
||||
Status = NtOpenKey(&KeyHandle,
|
||||
KEY_ALL_ACCESS,
|
||||
&ObjectAttributes);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("NtOpenKey() failed (Status %lx)\n", Status);
|
||||
return FALSE;
|
||||
DPRINT1("NtOpenKey() failed (Status %lx)\n", Status);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
Status = NtSetValueKey (KeyHandle,
|
||||
&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,
|
||||
Status = NtSetValueKey(KeyHandle,
|
||||
&ValueName,
|
||||
0,
|
||||
NULL,
|
||||
REG_OPTION_NON_VOLATILE,
|
||||
NULL);
|
||||
}
|
||||
|
||||
if (!NT_SUCCESS(Status))
|
||||
REG_SZ,
|
||||
(PVOID)InstallPath->Buffer,
|
||||
InstallPath->Length + sizeof(WCHAR));
|
||||
NtClose(KeyHandle);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("NtCreateKey() failed (Status %lx)\n", Status);
|
||||
return FALSE;
|
||||
DPRINT1("NtSetValueKey() 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))
|
||||
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))
|
||||
{
|
||||
DPRINT1("NtSetValueKey() failed (Status %lx)\n", Status);
|
||||
return FALSE;
|
||||
Status = NtCreateKey(&KeyHandle,
|
||||
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
|
||||
SetDefaultPagefile(WCHAR Drive)
|
||||
SetDefaultPagefile(
|
||||
WCHAR Drive)
|
||||
{
|
||||
OBJECT_ATTRIBUTES ObjectAttributes;
|
||||
UNICODE_STRING KeyName = RTL_CONSTANT_STRING(L"\\Registry\\Machine\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Memory Management");
|
||||
|
|
|
@ -27,18 +27,24 @@
|
|||
#pragma once
|
||||
|
||||
BOOLEAN
|
||||
ImportRegistryFile(PWSTR Filename,
|
||||
PWSTR Section,
|
||||
LCID LocaleId,
|
||||
BOOLEAN Delete);
|
||||
ImportRegistryFile(
|
||||
PWSTR Filename,
|
||||
PWSTR Section,
|
||||
LCID LocaleId,
|
||||
BOOLEAN Delete);
|
||||
|
||||
BOOLEAN
|
||||
SetInstallPathValue(PUNICODE_STRING InstallPath);
|
||||
SetInstallPathValue(
|
||||
PUNICODE_STRING InstallPath);
|
||||
|
||||
BOOLEAN
|
||||
SetMountedDeviceValue(CHAR Letter, ULONG Signature, LARGE_INTEGER StartingOffset);
|
||||
SetMountedDeviceValue(
|
||||
CHAR Letter,
|
||||
ULONG Signature,
|
||||
LARGE_INTEGER StartingOffset);
|
||||
|
||||
VOID
|
||||
SetDefaultPagefile(WCHAR Drive);
|
||||
SetDefaultPagefile(
|
||||
WCHAR Drive);
|
||||
|
||||
/* EOF */
|
||||
|
|
|
@ -31,34 +31,45 @@
|
|||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ******************************************************************/
|
||||
|
||||
ULONG DefaultLanguageIndex = 0;
|
||||
|
||||
/* FUNCTIONS ****************************************************************/
|
||||
|
||||
static BOOLEAN
|
||||
static
|
||||
BOOLEAN
|
||||
IsAcpiComputer(VOID)
|
||||
{
|
||||
UNICODE_STRING MultiKeyPathU = RTL_CONSTANT_STRING(L"\\Registry\\Machine\\HARDWARE\\DESCRIPTION\\System\\MultifunctionAdapter");
|
||||
UNICODE_STRING IdentifierU = RTL_CONSTANT_STRING(L"Identifier");
|
||||
UNICODE_STRING AcpiBiosIdentifier = RTL_CONSTANT_STRING(L"ACPI BIOS");
|
||||
OBJECT_ATTRIBUTES ObjectAttributes;
|
||||
PKEY_BASIC_INFORMATION pDeviceInformation = NULL;
|
||||
ULONG DeviceInfoLength = sizeof(KEY_BASIC_INFORMATION) + 50 * sizeof(WCHAR);
|
||||
PKEY_VALUE_PARTIAL_INFORMATION pValueInformation = NULL;
|
||||
ULONG ValueInfoLength = sizeof(KEY_VALUE_PARTIAL_INFORMATION) + 50 * sizeof(WCHAR);
|
||||
ULONG RequiredSize;
|
||||
ULONG IndexDevice = 0;
|
||||
UNICODE_STRING DeviceName, ValueName;
|
||||
HANDLE hDevicesKey = NULL;
|
||||
HANDLE hDeviceKey = NULL;
|
||||
NTSTATUS Status;
|
||||
BOOLEAN ret = FALSE;
|
||||
UNICODE_STRING MultiKeyPathU = RTL_CONSTANT_STRING(L"\\Registry\\Machine\\HARDWARE\\DESCRIPTION\\System\\MultifunctionAdapter");
|
||||
UNICODE_STRING IdentifierU = RTL_CONSTANT_STRING(L"Identifier");
|
||||
UNICODE_STRING AcpiBiosIdentifier = RTL_CONSTANT_STRING(L"ACPI BIOS");
|
||||
OBJECT_ATTRIBUTES ObjectAttributes;
|
||||
PKEY_BASIC_INFORMATION pDeviceInformation = NULL;
|
||||
ULONG DeviceInfoLength = sizeof(KEY_BASIC_INFORMATION) + 50 * sizeof(WCHAR);
|
||||
PKEY_VALUE_PARTIAL_INFORMATION pValueInformation = NULL;
|
||||
ULONG ValueInfoLength = sizeof(KEY_VALUE_PARTIAL_INFORMATION) + 50 * sizeof(WCHAR);
|
||||
ULONG RequiredSize;
|
||||
ULONG IndexDevice = 0;
|
||||
UNICODE_STRING DeviceName, ValueName;
|
||||
HANDLE hDevicesKey = NULL;
|
||||
HANDLE hDeviceKey = NULL;
|
||||
NTSTATUS Status;
|
||||
BOOLEAN ret = FALSE;
|
||||
|
||||
InitializeObjectAttributes(&ObjectAttributes, &MultiKeyPathU, OBJ_CASE_INSENSITIVE, NULL, NULL);
|
||||
Status = NtOpenKey(&hDevicesKey, KEY_ENUMERATE_SUB_KEYS, &ObjectAttributes);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT("NtOpenKey() failed with status 0x%08lx\n", Status);
|
||||
goto cleanup;
|
||||
}
|
||||
InitializeObjectAttributes(&ObjectAttributes,
|
||||
&MultiKeyPathU,
|
||||
OBJ_CASE_INSENSITIVE,
|
||||
NULL,
|
||||
NULL);
|
||||
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);
|
||||
if (!pDeviceInformation)
|
||||
|
@ -170,9 +181,11 @@ cleanup:
|
|||
}
|
||||
|
||||
|
||||
static BOOLEAN
|
||||
GetComputerIdentifier(PWSTR Identifier,
|
||||
ULONG IdentifierLength)
|
||||
static
|
||||
BOOLEAN
|
||||
GetComputerIdentifier(
|
||||
PWSTR Identifier,
|
||||
ULONG IdentifierLength)
|
||||
{
|
||||
OBJECT_ATTRIBUTES ObjectAttributes;
|
||||
UNICODE_STRING KeyName;
|
||||
|
@ -212,14 +225,12 @@ GetComputerIdentifier(PWSTR Identifier,
|
|||
}
|
||||
|
||||
/* Get number of subkeys */
|
||||
Status = NtQueryKey(
|
||||
ProcessorsKey,
|
||||
KeyFullInformation,
|
||||
pFullInfo,
|
||||
Size,
|
||||
&Size);
|
||||
Status = NtQueryKey(ProcessorsKey,
|
||||
KeyFullInformation,
|
||||
pFullInfo,
|
||||
Size,
|
||||
&Size);
|
||||
NtClose(ProcessorsKey);
|
||||
|
||||
if (!NT_SUCCESS(Status) && Status != STATUS_BUFFER_OVERFLOW)
|
||||
{
|
||||
DPRINT("NtQueryKey() failed (Status 0x%lx)\n", Status);
|
||||
|
@ -276,7 +287,8 @@ GetComputerIdentifier(PWSTR Identifier,
|
|||
|
||||
|
||||
PGENERIC_LIST
|
||||
CreateComputerTypeList(HINF InfFile)
|
||||
CreateComputerTypeList(
|
||||
HINF InfFile)
|
||||
{
|
||||
CHAR Buffer[128];
|
||||
PGENERIC_LIST List;
|
||||
|
@ -364,8 +376,10 @@ CreateComputerTypeList(HINF InfFile)
|
|||
}
|
||||
|
||||
|
||||
static BOOLEAN
|
||||
GetDisplayIdentifier(PWSTR Identifier,
|
||||
static
|
||||
BOOLEAN
|
||||
GetDisplayIdentifier(
|
||||
PWSTR Identifier,
|
||||
ULONG IdentifierLength)
|
||||
{
|
||||
OBJECT_ATTRIBUTES ObjectAttributes;
|
||||
|
@ -530,7 +544,8 @@ GetDisplayIdentifier(PWSTR Identifier,
|
|||
|
||||
|
||||
PGENERIC_LIST
|
||||
CreateDisplayDriverList(HINF InfFile)
|
||||
CreateDisplayDriverList(
|
||||
HINF InfFile)
|
||||
{
|
||||
CHAR Buffer[128];
|
||||
PGENERIC_LIST List;
|
||||
|
@ -630,8 +645,12 @@ CreateDisplayDriverList(HINF InfFile)
|
|||
return List;
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN
|
||||
ProcessComputerFiles(HINF InfFile, PGENERIC_LIST List, PWCHAR* AdditionalSectionName)
|
||||
ProcessComputerFiles(
|
||||
HINF InfFile,
|
||||
PGENERIC_LIST List,
|
||||
PWCHAR *AdditionalSectionName)
|
||||
{
|
||||
PGENERIC_LIST_ENTRY Entry;
|
||||
static WCHAR SectionName[128];
|
||||
|
@ -654,7 +673,9 @@ ProcessComputerFiles(HINF InfFile, PGENERIC_LIST List, PWCHAR* AdditionalSection
|
|||
|
||||
|
||||
BOOLEAN
|
||||
ProcessDisplayRegistry(HINF InfFile, PGENERIC_LIST List)
|
||||
ProcessDisplayRegistry(
|
||||
HINF InfFile,
|
||||
PGENERIC_LIST List)
|
||||
{
|
||||
PGENERIC_LIST_ENTRY Entry;
|
||||
INFCONTEXT Context;
|
||||
|
@ -692,12 +713,11 @@ ProcessDisplayRegistry(HINF InfFile, PGENERIC_LIST List)
|
|||
|
||||
StartValue = 1;
|
||||
Status = RtlWriteRegistryValue(RTL_REGISTRY_SERVICES,
|
||||
ServiceName,
|
||||
L"Start",
|
||||
REG_DWORD,
|
||||
&StartValue,
|
||||
sizeof(ULONG));
|
||||
|
||||
ServiceName,
|
||||
L"Start",
|
||||
REG_DWORD,
|
||||
&StartValue,
|
||||
sizeof(ULONG));
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT("RtlWriteRegistryValue() failed (Status %lx)\n", Status);
|
||||
|
@ -715,11 +735,11 @@ ProcessDisplayRegistry(HINF InfFile, PGENERIC_LIST List)
|
|||
|
||||
Width = wcstoul(Buffer, NULL, 10);
|
||||
Status = RtlWriteRegistryValue(RTL_REGISTRY_ABSOLUTE,
|
||||
RegPath,
|
||||
L"DefaultSettings.XResolution",
|
||||
REG_DWORD,
|
||||
&Width,
|
||||
sizeof(ULONG));
|
||||
RegPath,
|
||||
L"DefaultSettings.XResolution",
|
||||
REG_DWORD,
|
||||
&Width,
|
||||
sizeof(ULONG));
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT("RtlWriteRegistryValue() failed (Status %lx)\n", Status);
|
||||
|
@ -734,11 +754,11 @@ ProcessDisplayRegistry(HINF InfFile, PGENERIC_LIST List)
|
|||
|
||||
Height = wcstoul(Buffer, 0, 0);
|
||||
Status = RtlWriteRegistryValue(RTL_REGISTRY_ABSOLUTE,
|
||||
RegPath,
|
||||
L"DefaultSettings.YResolution",
|
||||
REG_DWORD,
|
||||
&Height,
|
||||
sizeof(ULONG));
|
||||
RegPath,
|
||||
L"DefaultSettings.YResolution",
|
||||
REG_DWORD,
|
||||
&Height,
|
||||
sizeof(ULONG));
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT("RtlWriteRegistryValue() failed (Status %lx)\n", Status);
|
||||
|
@ -753,11 +773,11 @@ ProcessDisplayRegistry(HINF InfFile, PGENERIC_LIST List)
|
|||
|
||||
Bpp = wcstoul(Buffer, 0, 0);
|
||||
Status = RtlWriteRegistryValue(RTL_REGISTRY_ABSOLUTE,
|
||||
RegPath,
|
||||
L"DefaultSettings.BitsPerPel",
|
||||
REG_DWORD,
|
||||
&Bpp,
|
||||
sizeof(ULONG));
|
||||
RegPath,
|
||||
L"DefaultSettings.BitsPerPel",
|
||||
REG_DWORD,
|
||||
&Bpp,
|
||||
sizeof(ULONG));
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT("RtlWriteRegistryValue() failed (Status %lx)\n", Status);
|
||||
|
@ -771,7 +791,8 @@ ProcessDisplayRegistry(HINF InfFile, PGENERIC_LIST List)
|
|||
|
||||
|
||||
BOOLEAN
|
||||
ProcessLocaleRegistry(PGENERIC_LIST List)
|
||||
ProcessLocaleRegistry(
|
||||
PGENERIC_LIST List)
|
||||
{
|
||||
PGENERIC_LIST_ENTRY Entry;
|
||||
PWCHAR LanguageId;
|
||||
|
@ -807,7 +828,6 @@ ProcessLocaleRegistry(PGENERIC_LIST List)
|
|||
Status = NtOpenKey(&KeyHandle,
|
||||
KEY_SET_VALUE,
|
||||
&ObjectAttributes);
|
||||
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("NtOpenKey() failed (Status %lx)\n", Status);
|
||||
|
@ -851,7 +871,8 @@ ProcessLocaleRegistry(PGENERIC_LIST List)
|
|||
|
||||
|
||||
PGENERIC_LIST
|
||||
CreateKeyboardDriverList(HINF InfFile)
|
||||
CreateKeyboardDriverList(
|
||||
HINF InfFile)
|
||||
{
|
||||
CHAR Buffer[128];
|
||||
PGENERIC_LIST List;
|
||||
|
@ -879,9 +900,9 @@ CreateKeyboardDriverList(HINF InfFile)
|
|||
break;
|
||||
}
|
||||
|
||||
UserData = (WCHAR*) RtlAllocateHeap(ProcessHeap,
|
||||
0,
|
||||
(wcslen(KeyName) + 1) * sizeof(WCHAR));
|
||||
UserData = (WCHAR*)RtlAllocateHeap(ProcessHeap,
|
||||
0,
|
||||
(wcslen(KeyName) + 1) * sizeof(WCHAR));
|
||||
if (UserData == NULL)
|
||||
{
|
||||
/* FIXME: Handle error! */
|
||||
|
@ -896,7 +917,6 @@ CreateKeyboardDriverList(HINF InfFile)
|
|||
return List;
|
||||
}
|
||||
|
||||
ULONG DefaultLanguageIndex = 0;
|
||||
|
||||
ULONG
|
||||
GetDefaultLanguageIndex(VOID)
|
||||
|
@ -904,8 +924,11 @@ GetDefaultLanguageIndex(VOID)
|
|||
return DefaultLanguageIndex;
|
||||
}
|
||||
|
||||
|
||||
PGENERIC_LIST
|
||||
CreateLanguageList(HINF InfFile, WCHAR * DefaultLanguage)
|
||||
CreateLanguageList(
|
||||
HINF InfFile,
|
||||
WCHAR *DefaultLanguage)
|
||||
{
|
||||
CHAR Buffer[128];
|
||||
PGENERIC_LIST List;
|
||||
|
@ -980,8 +1003,11 @@ CreateLanguageList(HINF InfFile, WCHAR * DefaultLanguage)
|
|||
return List;
|
||||
}
|
||||
|
||||
|
||||
PGENERIC_LIST
|
||||
CreateKeyboardLayoutList(HINF InfFile, WCHAR * DefaultKBLayout)
|
||||
CreateKeyboardLayoutList(
|
||||
HINF InfFile,
|
||||
WCHAR *DefaultKBLayout)
|
||||
{
|
||||
CHAR Buffer[128];
|
||||
PGENERIC_LIST List;
|
||||
|
@ -1028,10 +1054,9 @@ CreateKeyboardLayoutList(HINF InfFile, WCHAR * DefaultKBLayout)
|
|||
|
||||
if (_wcsicmp(LayoutsList[uIndex].LayoutID, KeyName) == 0)
|
||||
{
|
||||
UserData = (WCHAR*) RtlAllocateHeap(ProcessHeap,
|
||||
0,
|
||||
(wcslen(KeyName) + 1) * sizeof(WCHAR));
|
||||
|
||||
UserData = (WCHAR*)RtlAllocateHeap(ProcessHeap,
|
||||
0,
|
||||
(wcslen(KeyName) + 1) * sizeof(WCHAR));
|
||||
if (UserData == NULL)
|
||||
{
|
||||
/* FIXME: Handle error! */
|
||||
|
@ -1067,8 +1092,10 @@ CreateKeyboardLayoutList(HINF InfFile, WCHAR * DefaultKBLayout)
|
|||
return List;
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN
|
||||
ProcessKeyboardLayoutRegistry(PGENERIC_LIST List)
|
||||
ProcessKeyboardLayoutRegistry(
|
||||
PGENERIC_LIST List)
|
||||
{
|
||||
PGENERIC_LIST_ENTRY Entry;
|
||||
PWCHAR LayoutId;
|
||||
|
@ -1117,14 +1144,17 @@ ProcessKeyboardLayoutRegistry(PGENERIC_LIST List)
|
|||
|
||||
#if 0
|
||||
BOOLEAN
|
||||
ProcessKeyboardLayoutFiles(PGENERIC_LIST List)
|
||||
ProcessKeyboardLayoutFiles(
|
||||
PGENERIC_LIST List)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
BOOLEAN
|
||||
SetGeoID(PWCHAR Id)
|
||||
SetGeoID(
|
||||
PWCHAR Id)
|
||||
{
|
||||
OBJECT_ATTRIBUTES ObjectAttributes;
|
||||
UNICODE_STRING KeyName;
|
||||
|
@ -1133,6 +1163,7 @@ SetGeoID(PWCHAR Id)
|
|||
WCHAR szKeyName[] = L"\\Registry\\User\\.DEFAULT\\Control Panel\\International\\Geo";
|
||||
WCHAR szValueName[] = L"Nation";
|
||||
NTSTATUS Status;
|
||||
|
||||
RtlInitUnicodeString(&KeyName,
|
||||
szKeyName);
|
||||
InitializeObjectAttributes(&ObjectAttributes,
|
||||
|
@ -1143,24 +1174,25 @@ SetGeoID(PWCHAR Id)
|
|||
|
||||
Status = NtOpenKey(&KeyHandle,
|
||||
KEY_SET_VALUE,
|
||||
&ObjectAttributes);
|
||||
&ObjectAttributes);
|
||||
if(!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("NtOpenKey() failed (Status %lx)\n", Status);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
RtlInitUnicodeString(&ValueName, szValueName);
|
||||
Status = NtSetValueKey(KeyHandle,
|
||||
&ValueName,
|
||||
0,
|
||||
REG_SZ,
|
||||
(PVOID)Id,
|
||||
(wcslen(Id) + 1) * sizeof(WCHAR));
|
||||
&ValueName,
|
||||
0,
|
||||
REG_SZ,
|
||||
(PVOID)Id,
|
||||
(wcslen(Id) + 1) * sizeof(WCHAR));
|
||||
NtClose(KeyHandle);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("NtSetValueKey() failed (Status = %lx)\n", Status);
|
||||
return FALSE;
|
||||
DPRINT1("NtSetValueKey() failed (Status = %lx)\n", Status);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
|
|
|
@ -27,42 +27,55 @@
|
|||
#pragma once
|
||||
|
||||
PGENERIC_LIST
|
||||
CreateComputerTypeList(HINF InfFile);
|
||||
CreateComputerTypeList(
|
||||
HINF InfFile);
|
||||
|
||||
PGENERIC_LIST
|
||||
CreateDisplayDriverList(HINF InfFile);
|
||||
CreateDisplayDriverList(
|
||||
HINF InfFile);
|
||||
|
||||
BOOLEAN
|
||||
ProcessComputerFiles(HINF InfFile,
|
||||
PGENERIC_LIST List,
|
||||
PWCHAR* AdditionalSectionName);
|
||||
ProcessComputerFiles(
|
||||
HINF InfFile,
|
||||
PGENERIC_LIST List,
|
||||
PWCHAR *AdditionalSectionName);
|
||||
|
||||
BOOLEAN
|
||||
ProcessDisplayRegistry(HINF InfFile,
|
||||
PGENERIC_LIST List);
|
||||
ProcessDisplayRegistry(
|
||||
HINF InfFile,
|
||||
PGENERIC_LIST List);
|
||||
|
||||
PGENERIC_LIST
|
||||
CreateKeyboardDriverList(HINF InfFile);
|
||||
CreateKeyboardDriverList(
|
||||
HINF InfFile);
|
||||
|
||||
PGENERIC_LIST
|
||||
CreateKeyboardLayoutList(HINF InfFile, WCHAR *DefaultKBLayout);
|
||||
CreateKeyboardLayoutList(
|
||||
HINF InfFile,
|
||||
WCHAR *DefaultKBLayout);
|
||||
|
||||
PGENERIC_LIST
|
||||
CreateLanguageList(HINF InfFile, WCHAR * DefaultLanguage);
|
||||
PGENERIC_LIST
|
||||
CreateLanguageList(
|
||||
HINF InfFile,
|
||||
WCHAR *DefaultLanguage);
|
||||
|
||||
ULONG
|
||||
GetDefaultLanguageIndex(VOID);
|
||||
|
||||
BOOLEAN
|
||||
ProcessLocaleRegistry(PGENERIC_LIST List);
|
||||
ProcessLocaleRegistry(
|
||||
PGENERIC_LIST List);
|
||||
|
||||
BOOLEAN
|
||||
ProcessKeyboardLayoutRegistry(PGENERIC_LIST List);
|
||||
ProcessKeyboardLayoutRegistry(
|
||||
PGENERIC_LIST List);
|
||||
|
||||
BOOLEAN
|
||||
ProcessKeyboardLayoutFiles(PGENERIC_LIST List);
|
||||
ProcessKeyboardLayoutFiles(
|
||||
PGENERIC_LIST List);
|
||||
|
||||
BOOLEAN
|
||||
SetGeoID(PWCHAR Id);
|
||||
SetGeoID(
|
||||
PWCHAR Id);
|
||||
|
||||
/* EOF */
|
||||
|
|
|
@ -113,43 +113,43 @@ extern BOOLEAN InfGetStringField(PINFCONTEXT Context,
|
|||
#define _PAGE_NUMBER_DEFINED
|
||||
typedef enum _PAGE_NUMBER
|
||||
{
|
||||
START_PAGE,
|
||||
LANGUAGE_PAGE,
|
||||
INTRO_PAGE,
|
||||
LICENSE_PAGE,
|
||||
INSTALL_INTRO_PAGE,
|
||||
START_PAGE,
|
||||
LANGUAGE_PAGE,
|
||||
INTRO_PAGE,
|
||||
LICENSE_PAGE,
|
||||
INSTALL_INTRO_PAGE,
|
||||
|
||||
// SCSI_CONTROLLER_PAGE,
|
||||
// SCSI_CONTROLLER_PAGE,
|
||||
|
||||
DEVICE_SETTINGS_PAGE,
|
||||
COMPUTER_SETTINGS_PAGE,
|
||||
DISPLAY_SETTINGS_PAGE,
|
||||
KEYBOARD_SETTINGS_PAGE,
|
||||
LAYOUT_SETTINGS_PAGE,
|
||||
DEVICE_SETTINGS_PAGE,
|
||||
COMPUTER_SETTINGS_PAGE,
|
||||
DISPLAY_SETTINGS_PAGE,
|
||||
KEYBOARD_SETTINGS_PAGE,
|
||||
LAYOUT_SETTINGS_PAGE,
|
||||
|
||||
SELECT_PARTITION_PAGE,
|
||||
CREATE_PARTITION_PAGE,
|
||||
DELETE_PARTITION_PAGE,
|
||||
SELECT_PARTITION_PAGE,
|
||||
CREATE_PARTITION_PAGE,
|
||||
DELETE_PARTITION_PAGE,
|
||||
|
||||
SELECT_FILE_SYSTEM_PAGE,
|
||||
FORMAT_PARTITION_PAGE,
|
||||
CHECK_FILE_SYSTEM_PAGE,
|
||||
SELECT_FILE_SYSTEM_PAGE,
|
||||
FORMAT_PARTITION_PAGE,
|
||||
CHECK_FILE_SYSTEM_PAGE,
|
||||
|
||||
PREPARE_COPY_PAGE,
|
||||
INSTALL_DIRECTORY_PAGE,
|
||||
FILE_COPY_PAGE,
|
||||
REGISTRY_PAGE,
|
||||
BOOT_LOADER_PAGE,
|
||||
BOOT_LOADER_FLOPPY_PAGE,
|
||||
BOOT_LOADER_HARDDISK_MBR_PAGE,
|
||||
BOOT_LOADER_HARDDISK_VBR_PAGE,
|
||||
PREPARE_COPY_PAGE,
|
||||
INSTALL_DIRECTORY_PAGE,
|
||||
FILE_COPY_PAGE,
|
||||
REGISTRY_PAGE,
|
||||
BOOT_LOADER_PAGE,
|
||||
BOOT_LOADER_FLOPPY_PAGE,
|
||||
BOOT_LOADER_HARDDISK_MBR_PAGE,
|
||||
BOOT_LOADER_HARDDISK_VBR_PAGE,
|
||||
|
||||
REPAIR_INTRO_PAGE,
|
||||
REPAIR_INTRO_PAGE,
|
||||
|
||||
SUCCESS_PAGE,
|
||||
QUIT_PAGE,
|
||||
FLUSH_PAGE,
|
||||
REBOOT_PAGE, /* virtual page */
|
||||
SUCCESS_PAGE,
|
||||
QUIT_PAGE,
|
||||
FLUSH_PAGE,
|
||||
REBOOT_PAGE, /* virtual page */
|
||||
} PAGE_NUMBER, *PPAGE_NUMBER;
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in a new issue