internal extern static uint GetDynamicTimeZoneInformationEffectiveYears(ref _TIME_DYNAMIC_ZONE_INFORMATION lpTimeZoneInformation, out uint FirstYear, out uint LastYear);
internal extern static bool GetTimeZoneInformationForYear(ushort wYear, ref _TIME_DYNAMIC_ZONE_INFORMATION pdtzi, out _TIME_ZONE_INFORMATION ptzi);
internal extern static uint EnumDynamicTimeZoneInformation(uint dwIndex, out _TIME_DYNAMIC_ZONE_INFORMATION lpTimeZoneInformation);
internal extern static uint GetDynamicTimeZoneInformation(out _TIME_DYNAMIC_ZONE_INFORMATION pTimeZoneInformation);
internal extern static bool GetTimeZoneInformationForYear(ushort wYear, ref _TIME_DYNAMIC_ZONE_INFORMATION pdtzi, out _TIME_ZONE_INFORMATION ptzi);
internal extern static uint GetDynamicTimeZoneInformationEffectiveYears(ref _TIME_DYNAMIC_ZONE_INFORMATION lpTimeZoneInformation, out uint FirstYear, out uint LastYear);
internal extern static uint GetDynamicTimeZoneInformation(out _TIME_DYNAMIC_ZONE_INFORMATION pTimeZoneInformation);
internal extern static uint EnumDynamicTimeZoneInformation(uint dwIndex, out _TIME_DYNAMIC_ZONE_INFORMATION lpTimeZoneInformation);
private bool getDynamicTimeZone(uint index, out _TIME_DYNAMIC_ZONE_INFORMATION dtzi) { var error = Advapi32.EnumDynamicTimeZoneInformation(index, out dtzi); return(error == WinError.ERROR_SUCCESS); }