Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

777 lines
22 KiB

#include "headers.hxx"
#include "constants.hpp"
#include "global.hpp"
#include <set>
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<long,long> 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)";
}