#include "headers.hxx" #include "constants.hpp" #include "global.hpp" #include using namespace std; const long LOCALE409[] = {0x409,0}; const long LOCALEIDS[] = { // a list of all the non-english locale IDs that we support 0x401, 0x404, 0x405, 0x406, 0x407, 0x408, 0x40b, 0x40c, 0x40d, 0x40e, 0x410, 0x411, 0x412, 0x413, 0x414, 0x415, 0x416, 0x419, 0x41d, 0x41f, 0x804, 0x816, 0xc0a, 0 }; const wchar_t *NEW_XP_OBJECTS[] = { // New objects on windows XP L"msMQ-Custom-Recipient-Display", L"msMQ-Group-Display", L"msCOM-PartitionSet-Display", L"msCOM-Partition-Display", L"lostAndFound-Display", L"inetOrgPerson-Display", L"", }; // In CHANGE_LIST, the entries for REPLACE_W2K_MULTIPLE_VALUE and // REPLACE_W2K_SINGLE_VALUE will start with a character representing // the index to replaceW2KStrs where to find the W2K string. // For REPLACE_W2K_MULTIPLE_VALUE, after the index, there will be // two additional semicolon separated strings ending with colon. // The first string is the beginning of the W2K value and the second // is the beginning of the Whistler value. They are used to distinguish // the multiple value from others and they end in colon to make sure // we have a correct match // Since replaceW2KStrs has the whole W2K value we will not need // the beginning of the W2K value for the update. We will needed it // to get the value that is stored in replaceW2KStrs. // These values, with the exception of 409 entries, are generated // by the W2KStrs companion tool (preBuild folder) // and pasted in setReplaceW2KStrs further bellow. const struct sChangeList CHANGE_LIST[] = { // List of changes in objects that existed in W2K and // stil exist in XP. // This list is a 1 to 1 map of the specification table { L"DS-UI-Default-Settings", { { L"dSUIAdminNotification", L"2,{a00e1768-4a9b-4d97-afc6-99d329f605f2}", ADD_GUID }, { L"msDS-FilterContainers", L"", ADD_ALL_CSV_VALUES }, { L"msDS-Non-Security-Group-Extra-Classes", L"", ADD_ALL_CSV_VALUES }, { L"",L"",NOP }, } }, { L"domainDNS-Display", { { L"attributeDisplayNames", L"\x0;cn,;dc,", //cn,Name in 409 REPLACE_W2K_MULTIPLE_VALUE }, { L"",L"",NOP }, } }, { L"computer-Display", { { L"adminPropertyPages", L"7,{B52C1E50-1DD2-11D1-BC43-00C04FC31FD3}", ADD_GUID }, { L"",L"",NOP }, } }, { L"organizationalUnit-Display", { { L"adminPropertyPages", L"6,{FA3E1D55-16DF-446d-872E-BD04D4F39C93}", ADD_GUID }, { L"",L"",NOP }, } }, { L"container-Display", { { L"adminContextMenu", L"3,{EEBD2F15-87EE-4F93-856F-6AD7E31787B3}", ADD_GUID }, { L"adminContextMenu", L"4,{AB790AA1-CDC1-478a-9351-B2E05CFCAD09}", ADD_GUID }, { L"",L"",NOP }, } }, { L"pKICertificateTemplate-Display", { { L"adminPropertyPages", L"1,{9bff616c-3e02-11d2-a4ca-00c04fb93209}", REMOVE_GUID }, { L"adminPropertyPages", L"1,{11BDCE06-D55C-44e9-BC0B-8655F89E8CC5}", ADD_GUID }, { L"adminPropertyPages", L"3,{4e40f770-369c-11d0-8922-00a024ab2dbb}", REMOVE_GUID }, { L"shellPropertyPages", L"1,{9bff616c-3e02-11d2-a4ca-00c04fb93209}", REMOVE_GUID }, { L"shellPropertyPages", L"1,{11BDCE06-D55C-44e9-BC0B-8655F89E8CC5}", ADD_GUID }, { L"contextMenu", L"0,{9bff616c-3e02-11d2-a4ca-00c04fb93209}", REMOVE_GUID }, { L"contextMenu", L"0,{11BDCE06-D55C-44e9-BC0B-8655F89E8CC5}", ADD_GUID }, { L"adminContextMenu", L"0,{9bff616c-3e02-11d2-a4ca-00c04fb93209}", REMOVE_GUID }, { L"adminContextMenu", L"0,{11BDCE06-D55C-44e9-BC0B-8655F89E8CC5}", ADD_GUID }, { L"iconPath", L"\x1", // In 409 "capesnpn.dll,-227" will be replaced by // "0,certtmpl.dll,-144" REPLACE_W2K_SINGLE_VALUE }, { L"",L"",NOP }, } }, { L"default-Display", { { L"adminMultiselectPropertyPages", L"1,{50d30563-9911-11d1-b9af-00c04fd8d5b0}", ADD_GUID }, { L"extraColumns", L"", ADD_ALL_CSV_VALUES }, { L"",L"",NOP }, } }, { L"nTDSService-Display", { { L"classDisplayName", L"\x2", // In 409 "Service" will be replaced by // "Active Directory Service" REPLACE_W2K_SINGLE_VALUE }, { L"",L"",NOP }, } }, { L"user-Display", { { L"adminMultiselectPropertyPages", L"1,{50d30564-9911-11d1-b9af-00c04fd8d5b0}", ADD_GUID }, { L"adminPropertyPages", L"9,{FA3E1D55-16DF-446d-872E-BD04D4F39C93}", ADD_GUID }, { L"attributeDisplayNames", L"\x3;internationalISDNNumber,;internationalISDNNumber,", REPLACE_W2K_MULTIPLE_VALUE }, { L"attributeDisplayNames", L"\x4;otherHomePhone;otherHomePhone", REPLACE_W2K_MULTIPLE_VALUE }, { L"",L"",NOP }, } }, {L"",{ L"",L"",NOP }}, }; // All REPLACE entries in CHANGE_LIST // will have the first wchar_t as an index to this table sReplaceW2KStrs replaceW2KStrs; void setReplaceW2KStrs() { LOG_FUNCTION(setReplaceW2KStrs); replaceW2KStrs.clear(); pair tmpIndxLoc; // Computer generated code bellow (W2KStrs.exe in the preBuild folder) tmpIndxLoc.first=0; tmpIndxLoc.second=0x401; replaceW2KStrs[tmpIndxLoc]=L"cn,&0627&0644&0627&0633&0645"; tmpIndxLoc.first=1; tmpIndxLoc.second=0x401; replaceW2KStrs[tmpIndxLoc]=L"0,capesnpn.dll,-227"; tmpIndxLoc.first=2; tmpIndxLoc.second=0x401; replaceW2KStrs[tmpIndxLoc]=L"&062e&062f&0645&0629 Active Directory"; tmpIndxLoc.first=3; tmpIndxLoc.second=0x401; replaceW2KStrs[tmpIndxLoc]=L"internationalISDNNumber,&0631&0642&0645 ISDN &0627&0644&062f&0648&0644&064a (&0622&062e&0631)"; tmpIndxLoc.first=4; tmpIndxLoc.second=0x401; replaceW2KStrs[tmpIndxLoc]=L"otherHomePhone,&0631&0642&0645 &0647&0627&062a&0641 &0627&0644&0645&0646&0632&0644 (&0622&062e&0631)"; tmpIndxLoc.first=0; tmpIndxLoc.second=0x404; replaceW2KStrs[tmpIndxLoc]=L"cn,&540d&7a31"; tmpIndxLoc.first=1; tmpIndxLoc.second=0x404; replaceW2KStrs[tmpIndxLoc]=L"0,capesnpn.dll,-227"; tmpIndxLoc.first=2; tmpIndxLoc.second=0x404; replaceW2KStrs[tmpIndxLoc]=L"Active Directory &670d&52d9"; tmpIndxLoc.first=3; tmpIndxLoc.second=0x404; replaceW2KStrs[tmpIndxLoc]=L"internationalISDNNumber,&570b&969b ISDN &865f&78bc (&5176&4ed6)"; tmpIndxLoc.first=4; tmpIndxLoc.second=0x404; replaceW2KStrs[tmpIndxLoc]=L"otherHomePhone,&4f4f&5b85&96fb&8a71&865f&78bc (&5176&4ed6)"; tmpIndxLoc.first=0; tmpIndxLoc.second=0x405; replaceW2KStrs[tmpIndxLoc]=L"cn,Jm&00e9no"; tmpIndxLoc.first=1; tmpIndxLoc.second=0x405; replaceW2KStrs[tmpIndxLoc]=L"0,capesnpn.dll,-227"; tmpIndxLoc.first=2; tmpIndxLoc.second=0x405; replaceW2KStrs[tmpIndxLoc]=L"Slu&017eba Active Directory"; tmpIndxLoc.first=3; tmpIndxLoc.second=0x405; replaceW2KStrs[tmpIndxLoc]=L"internationalISDNNumber,Mezin&00e1rodn&00ed &010d&00edslo ISDN (dal&0161&00ed &010d&00edsla)"; tmpIndxLoc.first=4; tmpIndxLoc.second=0x405; replaceW2KStrs[tmpIndxLoc]=L"otherHomePhone,Telefonn&00ed &010d&00edslo dom&016f (dal&0161&00ed &010d&00edsla)"; tmpIndxLoc.first=0; tmpIndxLoc.second=0x406; replaceW2KStrs[tmpIndxLoc]=L"cn,Navn"; tmpIndxLoc.first=1; tmpIndxLoc.second=0x406; replaceW2KStrs[tmpIndxLoc]=L"0,capesnpn.dll,-227"; tmpIndxLoc.first=2; tmpIndxLoc.second=0x406; replaceW2KStrs[tmpIndxLoc]=L"Active Directory-tjeneste"; tmpIndxLoc.first=3; tmpIndxLoc.second=0x406; replaceW2KStrs[tmpIndxLoc]=L"internationalISDNNumber,Internationalt ISDN-nummer (andre)"; tmpIndxLoc.first=4; tmpIndxLoc.second=0x406; replaceW2KStrs[tmpIndxLoc]=L"otherHomePhone,Telefonnummer, privat (andre)"; tmpIndxLoc.first=0; tmpIndxLoc.second=0x407; replaceW2KStrs[tmpIndxLoc]=L"cn,Name"; tmpIndxLoc.first=1; tmpIndxLoc.second=0x407; replaceW2KStrs[tmpIndxLoc]=L"0,capesnpn.dll,-227"; tmpIndxLoc.first=2; tmpIndxLoc.second=0x407; replaceW2KStrs[tmpIndxLoc]=L"Active Directory-Dienst"; tmpIndxLoc.first=3; tmpIndxLoc.second=0x407; replaceW2KStrs[tmpIndxLoc]=L"internationalISDNNumber,Internationale ISDN-Nummer (Andere)"; tmpIndxLoc.first=4; tmpIndxLoc.second=0x407; replaceW2KStrs[tmpIndxLoc]=L"otherHomePhone,Privatrufnummer (Andere)"; tmpIndxLoc.first=0; tmpIndxLoc.second=0x408; replaceW2KStrs[tmpIndxLoc]=L"cn,&039f&03bd&03bf&03bc&03b1&03c4&03b5&03c0&03ce&03bd&03c5&03bc&03bf"; tmpIndxLoc.first=1; tmpIndxLoc.second=0x408; replaceW2KStrs[tmpIndxLoc]=L"0,capesnpn.dll,-227"; tmpIndxLoc.first=2; tmpIndxLoc.second=0x408; replaceW2KStrs[tmpIndxLoc]=L"&03a5&03c0&03b7&03c1&03b5&03c3&03af&03b1 &03ba&03b1&03c4&03b1&03bb&03cc&03b3&03bf&03c5 Active Directory"; tmpIndxLoc.first=3; tmpIndxLoc.second=0x408; replaceW2KStrs[tmpIndxLoc]=L"internationalISDNNumber,&0394&03b9&03b5&03b8&03bd&03ae&03c2 &03b1&03c1&03b9&03b8&03bc&03cc&03c2 ISDN (&03ac&03bb&03bb&03bf&03b9)"; tmpIndxLoc.first=4; tmpIndxLoc.second=0x408; replaceW2KStrs[tmpIndxLoc]=L"otherHomePhone,&03a4&03b7&03bb&03ad&03c6&03c9&03bd&03bf &03bf&03b9&03ba&03af&03b1&03c2 (&03ac&03bb&03bb&03b1)"; tmpIndxLoc.first=0; tmpIndxLoc.second=0x40b; replaceW2KStrs[tmpIndxLoc]=L"cn,Nimi"; tmpIndxLoc.first=1; tmpIndxLoc.second=0x40b; replaceW2KStrs[tmpIndxLoc]=L"0,capesnpn.dll,-227"; tmpIndxLoc.first=2; tmpIndxLoc.second=0x40b; replaceW2KStrs[tmpIndxLoc]=L"Active Directory -palvelu"; tmpIndxLoc.first=3; tmpIndxLoc.second=0x40b; replaceW2KStrs[tmpIndxLoc]=L"internationalISDNNumber,Kansainv&00e4linen ISDN-numero (muut)"; tmpIndxLoc.first=4; tmpIndxLoc.second=0x40b; replaceW2KStrs[tmpIndxLoc]=L"otherHomePhone,Kotipuhelinnumero (muut)"; tmpIndxLoc.first=0; tmpIndxLoc.second=0x40c; replaceW2KStrs[tmpIndxLoc]=L"cn,Nom"; tmpIndxLoc.first=1; tmpIndxLoc.second=0x40c; replaceW2KStrs[tmpIndxLoc]=L"0,capesnpn.dll,-227"; tmpIndxLoc.first=2; tmpIndxLoc.second=0x40c; replaceW2KStrs[tmpIndxLoc]=L"Service Active Directory"; tmpIndxLoc.first=3; tmpIndxLoc.second=0x40c; replaceW2KStrs[tmpIndxLoc]=L"internationalISDNNumber,Num&00e9ro RNIS international (Autres)"; tmpIndxLoc.first=4; tmpIndxLoc.second=0x40c; replaceW2KStrs[tmpIndxLoc]=L"otherHomePhone,Num&00e9ro de t&00e9l&00e9phone domicile (Autres)"; tmpIndxLoc.first=0; tmpIndxLoc.second=0x40d; replaceW2KStrs[tmpIndxLoc]=L"cn,&05e9&05dd"; tmpIndxLoc.first=1; tmpIndxLoc.second=0x40d; replaceW2KStrs[tmpIndxLoc]=L"0,capesnpn.dll,-227"; tmpIndxLoc.first=2; tmpIndxLoc.second=0x40d; replaceW2KStrs[tmpIndxLoc]=L"&05e9&05d9&05e8&05d5&05ea Active Directory"; tmpIndxLoc.first=3; tmpIndxLoc.second=0x40d; replaceW2KStrs[tmpIndxLoc]=L"internationalISDNNumber,&05de&05e1&05e4&05e8 ISDN &05d1&05d9&05e0&05dc&05d0&05d5&05de&05d9 (&05d0&05d7&05e8&05d9&05dd)&200f"; tmpIndxLoc.first=4; tmpIndxLoc.second=0x40d; replaceW2KStrs[tmpIndxLoc]=L"otherHomePhone,&05de&05e1&05e4&05e8 &05d8&05dc&05e4&05d5&05df &05d1&05d1&05d9&05ea (&05d0&05d7&05e8&05d9&05dd)&200f"; tmpIndxLoc.first=0; tmpIndxLoc.second=0x40e; replaceW2KStrs[tmpIndxLoc]=L"cn,N&00e9v"; tmpIndxLoc.first=1; tmpIndxLoc.second=0x40e; replaceW2KStrs[tmpIndxLoc]=L"0,capesnpn.dll,-227"; tmpIndxLoc.first=2; tmpIndxLoc.second=0x40e; replaceW2KStrs[tmpIndxLoc]=L"Active Directory szolg&00e1ltat&00e1s"; tmpIndxLoc.first=3; tmpIndxLoc.second=0x40e; replaceW2KStrs[tmpIndxLoc]=L"internationalISDNNumber,Nemzetk&00f6zi ISDN-sz&00e1m (egy&00e9b)"; tmpIndxLoc.first=4; tmpIndxLoc.second=0x40e; replaceW2KStrs[tmpIndxLoc]=L"otherHomePhone,Otthoni telefonsz&00e1m (egy&00e9b)"; tmpIndxLoc.first=0; tmpIndxLoc.second=0x410; replaceW2KStrs[tmpIndxLoc]=L"cn,Nome utente"; tmpIndxLoc.first=1; tmpIndxLoc.second=0x410; replaceW2KStrs[tmpIndxLoc]=L"0,capesnpn.dll,-227"; tmpIndxLoc.first=2; tmpIndxLoc.second=0x410; replaceW2KStrs[tmpIndxLoc]=L"Servizio Active Directory"; tmpIndxLoc.first=3; tmpIndxLoc.second=0x410; replaceW2KStrs[tmpIndxLoc]=L"internationalISDNNumber,Numero ISDN internazionale (altri)"; tmpIndxLoc.first=4; tmpIndxLoc.second=0x410; replaceW2KStrs[tmpIndxLoc]=L"otherHomePhone,Numero telefono abitazione (altri)"; tmpIndxLoc.first=0; tmpIndxLoc.second=0x411; replaceW2KStrs[tmpIndxLoc]=L"cn,&540d&524d"; tmpIndxLoc.first=1; tmpIndxLoc.second=0x411; replaceW2KStrs[tmpIndxLoc]=L"0,capesnpn.dll,-227"; tmpIndxLoc.first=2; tmpIndxLoc.second=0x411; replaceW2KStrs[tmpIndxLoc]=L"Active Directory &30b5&30fc&30d3&30b9"; tmpIndxLoc.first=3; tmpIndxLoc.second=0x411; replaceW2KStrs[tmpIndxLoc]=L"internationalISDNNumber,&56fd&969b ISDN &756a&53f7 (&305d&306e&4ed6)"; tmpIndxLoc.first=4; tmpIndxLoc.second=0x411; replaceW2KStrs[tmpIndxLoc]=L"otherHomePhone,&81ea&5b85&96fb&8a71&756a&53f7 (&305d&306e&4ed6)"; tmpIndxLoc.first=0; tmpIndxLoc.second=0x412; replaceW2KStrs[tmpIndxLoc]=L"cn,&c774&b984"; tmpIndxLoc.first=1; tmpIndxLoc.second=0x412; replaceW2KStrs[tmpIndxLoc]=L"0,capesnpn.dll,-227"; tmpIndxLoc.first=2; tmpIndxLoc.second=0x412; replaceW2KStrs[tmpIndxLoc]=L"Active Directory &c11c&be44&c2a4"; tmpIndxLoc.first=3; tmpIndxLoc.second=0x412; replaceW2KStrs[tmpIndxLoc]=L"internationalISDNNumber,&ad6d&c81c ISDN &bc88&d638 (&ae30&d0c0)"; tmpIndxLoc.first=4; tmpIndxLoc.second=0x412; replaceW2KStrs[tmpIndxLoc]=L"otherHomePhone,&c9d1 &c804&d654 &bc88&d638(&ae30&d0c0)"; tmpIndxLoc.first=0; tmpIndxLoc.second=0x413; replaceW2KStrs[tmpIndxLoc]=L"cn,Naam"; tmpIndxLoc.first=1; tmpIndxLoc.second=0x413; replaceW2KStrs[tmpIndxLoc]=L"0,capesnpn.dll,-227"; tmpIndxLoc.first=2; tmpIndxLoc.second=0x413; replaceW2KStrs[tmpIndxLoc]=L"Active Directory-service"; tmpIndxLoc.first=3; tmpIndxLoc.second=0x413; replaceW2KStrs[tmpIndxLoc]=L"internationalISDNNumber,Internationaal ISDN-nummer (overig)"; tmpIndxLoc.first=4; tmpIndxLoc.second=0x413; replaceW2KStrs[tmpIndxLoc]=L"otherHomePhone,Telefoonnummer priv&00e9 (overig)"; tmpIndxLoc.first=0; tmpIndxLoc.second=0x414; replaceW2KStrs[tmpIndxLoc]=L"cn,Navn"; tmpIndxLoc.first=1; tmpIndxLoc.second=0x414; replaceW2KStrs[tmpIndxLoc]=L"0,capesnpn.dll,-227"; tmpIndxLoc.first=2; tmpIndxLoc.second=0x414; replaceW2KStrs[tmpIndxLoc]=L"Active Directory-tjeneste"; tmpIndxLoc.first=3; tmpIndxLoc.second=0x414; replaceW2KStrs[tmpIndxLoc]=L"internationalISDNNumber,Internasjonalt ISDN-nummer (andre)"; tmpIndxLoc.first=4; tmpIndxLoc.second=0x414; replaceW2KStrs[tmpIndxLoc]=L"otherHomePhone,Telefonnummer, privat (andre)"; tmpIndxLoc.first=0; tmpIndxLoc.second=0x415; replaceW2KStrs[tmpIndxLoc]=L"cn,Nazwa"; tmpIndxLoc.first=1; tmpIndxLoc.second=0x415; replaceW2KStrs[tmpIndxLoc]=L"0,capesnpn.dll,-227"; tmpIndxLoc.first=2; tmpIndxLoc.second=0x415; replaceW2KStrs[tmpIndxLoc]=L"Us&0142uga Active Directory"; tmpIndxLoc.first=3; tmpIndxLoc.second=0x415; replaceW2KStrs[tmpIndxLoc]=L"internationalISDNNumber,Mi&0119dzynarodowy numer sieciowy ISDN (inne)"; tmpIndxLoc.first=4; tmpIndxLoc.second=0x415; replaceW2KStrs[tmpIndxLoc]=L"otherHomePhone,Numer telefonu domowego (inne)"; tmpIndxLoc.first=0; tmpIndxLoc.second=0x416; replaceW2KStrs[tmpIndxLoc]=L"cn,Nome"; tmpIndxLoc.first=1; tmpIndxLoc.second=0x416; replaceW2KStrs[tmpIndxLoc]=L"0,capesnpn.dll,-227"; tmpIndxLoc.first=2; tmpIndxLoc.second=0x416; replaceW2KStrs[tmpIndxLoc]=L"Servi&00e7o Active Directory"; tmpIndxLoc.first=3; tmpIndxLoc.second=0x416; replaceW2KStrs[tmpIndxLoc]=L"internationalISDNNumber,N&00famero ISDN internacional (outros)"; tmpIndxLoc.first=4; tmpIndxLoc.second=0x416; replaceW2KStrs[tmpIndxLoc]=L"otherHomePhone,N&00famero de telefone residencial (outros)"; tmpIndxLoc.first=0; tmpIndxLoc.second=0x419; replaceW2KStrs[tmpIndxLoc]=L"cn,&041f&043e&043b&043d&043e&0435 &0438&043c&044f"; tmpIndxLoc.first=1; tmpIndxLoc.second=0x419; replaceW2KStrs[tmpIndxLoc]=L"0,capesnpn.dll,-227"; tmpIndxLoc.first=2; tmpIndxLoc.second=0x419; replaceW2KStrs[tmpIndxLoc]=L"&0421&043b&0443&0436&0431&0430 &043a&0430&0442&0430&043b&043e&0433&043e&0432 Active Directory"; tmpIndxLoc.first=3; tmpIndxLoc.second=0x419; replaceW2KStrs[tmpIndxLoc]=L"internationalISDNNumber,&041c&0435&0436&0434&0443&043d&0430&0440&043e&0434&043d&044b&0439 &043d&043e&043c&0435&0440 ISDN (&043f&0440&043e&0447&0438&0435)"; tmpIndxLoc.first=4; tmpIndxLoc.second=0x419; replaceW2KStrs[tmpIndxLoc]=L"otherHomePhone,&0414&043e&043c&0430&0448&043d&0438&0439 &0442&0435&043b&0435&0444&043e&043d (&043f&0440&043e&0447&0438&0435)"; tmpIndxLoc.first=0; tmpIndxLoc.second=0x41d; replaceW2KStrs[tmpIndxLoc]=L"cn,Namn"; tmpIndxLoc.first=1; tmpIndxLoc.second=0x41d; replaceW2KStrs[tmpIndxLoc]=L"0,capesnpn.dll,-227"; tmpIndxLoc.first=2; tmpIndxLoc.second=0x41d; replaceW2KStrs[tmpIndxLoc]=L"Active Directory-tj&00e4nst"; tmpIndxLoc.first=3; tmpIndxLoc.second=0x41d; replaceW2KStrs[tmpIndxLoc]=L"internationalISDNNumber,ISDN-nummer (alternativ)"; tmpIndxLoc.first=4; tmpIndxLoc.second=0x41d; replaceW2KStrs[tmpIndxLoc]=L"otherHomePhone,Telefonnummer, hem (alternativ)"; tmpIndxLoc.first=0; tmpIndxLoc.second=0x41f; replaceW2KStrs[tmpIndxLoc]=L"cn,Ad&0131"; tmpIndxLoc.first=1; tmpIndxLoc.second=0x41f; replaceW2KStrs[tmpIndxLoc]=L"0,capesnpn.dll,-227"; tmpIndxLoc.first=2; tmpIndxLoc.second=0x41f; replaceW2KStrs[tmpIndxLoc]=L"Active Directory Hizmeti"; tmpIndxLoc.first=3; tmpIndxLoc.second=0x41f; replaceW2KStrs[tmpIndxLoc]=L"internationalISDNNumber,Uluslararas&0131 ISDN Numaras&0131 (Di&011ferleri)"; tmpIndxLoc.first=4; tmpIndxLoc.second=0x41f; replaceW2KStrs[tmpIndxLoc]=L"otherHomePhone,Ev Telefonu Numaras&0131 (Di&011ferleri)"; tmpIndxLoc.first=0; tmpIndxLoc.second=0x804; replaceW2KStrs[tmpIndxLoc]=L"cn,&540d&79f0"; tmpIndxLoc.first=1; tmpIndxLoc.second=0x804; replaceW2KStrs[tmpIndxLoc]=L"0,capesnpn.dll,-227"; tmpIndxLoc.first=2; tmpIndxLoc.second=0x804; replaceW2KStrs[tmpIndxLoc]=L"Active Directory &670d&52a1"; tmpIndxLoc.first=3; tmpIndxLoc.second=0x804; replaceW2KStrs[tmpIndxLoc]=L"internationalISDNNumber,&56fd&9645 ISDN &53f7&7801(&5176&5b83)"; tmpIndxLoc.first=4; tmpIndxLoc.second=0x804; replaceW2KStrs[tmpIndxLoc]=L"otherHomePhone,&5bb6&5ead&7535&8bdd&53f7&7801 (&5176&5b83)"; tmpIndxLoc.first=0; tmpIndxLoc.second=0x816; replaceW2KStrs[tmpIndxLoc]=L"cn,Nome"; tmpIndxLoc.first=1; tmpIndxLoc.second=0x816; replaceW2KStrs[tmpIndxLoc]=L"0,capesnpn.dll,-227"; tmpIndxLoc.first=2; tmpIndxLoc.second=0x816; replaceW2KStrs[tmpIndxLoc]=L"Servi&00e7o do Active Directory"; tmpIndxLoc.first=3; tmpIndxLoc.second=0x816; replaceW2KStrs[tmpIndxLoc]=L"internationalISDNNumber,N&00famero RDIS internacional (outros)"; tmpIndxLoc.first=4; tmpIndxLoc.second=0x816; replaceW2KStrs[tmpIndxLoc]=L"otherHomePhone,N&00famero de telefone da resid&00eancia (outros)"; tmpIndxLoc.first=0; tmpIndxLoc.second=0xc0a; replaceW2KStrs[tmpIndxLoc]=L"cn,Nombre"; tmpIndxLoc.first=1; tmpIndxLoc.second=0xc0a; replaceW2KStrs[tmpIndxLoc]=L"0,capesnpn.dll,-227"; tmpIndxLoc.first=2; tmpIndxLoc.second=0xc0a; replaceW2KStrs[tmpIndxLoc]=L"Servicio de Active Directory"; tmpIndxLoc.first=3; tmpIndxLoc.second=0xc0a; replaceW2KStrs[tmpIndxLoc]=L"internationalISDNNumber,N&00famero ISDN (RDSI) internacional (otros)"; tmpIndxLoc.first=4; tmpIndxLoc.second=0xc0a; replaceW2KStrs[tmpIndxLoc]=L"otherHomePhone,N&00famero de tel&00e9fono particular (otros)"; // End of generated code (W2KStrs.exe in the preBuild folder) sReplaceW2KStrs::iterator begin=replaceW2KStrs.begin(); sReplaceW2KStrs::iterator end=replaceW2KStrs.end(); while(begin!=end) { tmpIndxLoc.first=begin->first.first; tmpIndxLoc.second=begin->first.second; replaceW2KStrs[tmpIndxLoc]=unEscape(begin->second); begin++; } // Now we add the 409 Strings tmpIndxLoc.first=0; tmpIndxLoc.second=0x409; replaceW2KStrs[tmpIndxLoc]=L"cn,Name"; tmpIndxLoc.first=1; tmpIndxLoc.second=0x409; replaceW2KStrs[tmpIndxLoc]=L"0,capesnpn.dll,-227"; tmpIndxLoc.first=2; tmpIndxLoc.second=0x409; replaceW2KStrs[tmpIndxLoc]=L"Service"; tmpIndxLoc.first=3; tmpIndxLoc.second=0x409; replaceW2KStrs[tmpIndxLoc]= L"internationalISDNNumber, International ISDN Number (Others)"; tmpIndxLoc.first=4; tmpIndxLoc.second=0x409; replaceW2KStrs[tmpIndxLoc]= L"otherHomePhone,Home Phone (Others)"; }