internal unsafe void GetDTFIOverrideValues(ref DTFIUserOverrideValues values) {
BCLDebug.Assert(UseUserOverride, "CultureTableRecord.GetDTFIOverrideValues(): Call this only when UseUserOverride is true.");
bool result = false;
if (UseGetLocaleInfo)
result = CultureInfo.nativeGetDTFIUserValues(InteropLCID, ref values);
if (result) {
// if we got values.yearMonthPattern = null this means the data is not located in the registry and
// we couldn't call GetLocaleInfo. we leave yearMonthPattern as null here so the caller (DTFI)
// will initialize it properly.
values.firstDayOfWeek = ConvertFirstDayOfWeekMonToSun((int)values.firstDayOfWeek);
// Need to do escaping of win32/file type patterns to NLS type patterns
values.shortDatePattern = ReescapeWin32String(values.shortDatePattern);
values.longDatePattern = ReescapeWin32String(values.longDatePattern);
values.longTimePattern = ReescapeWin32String(values.longTimePattern);
values.yearMonthPattern = ReescapeWin32String(values.yearMonthPattern);
} else {
//
// We do not use user-override values or something failed during the call to GetLocaleInfo(). Use the information in culture.nlp.
//
values.firstDayOfWeek = IFIRSTDAYOFWEEK;
values.calendarWeekRule = IFIRSTWEEKOFYEAR;
values.shortDatePattern = SSHORTDATE;
values.longDatePattern = SLONGDATE;
values.yearMonthPattern = SYEARMONTH;
values.amDesignator = S1159;
values.pmDesignator = S2359;
values.longTimePattern = STIMEFORMAT;
}
}