public static System.Runtime.InteropServices.ComTypes.FILETIME Encode_FILETIME(DateTime datetime)
{
System.Runtime.InteropServices.ComTypes.FILETIME filetime;
if (datetime <= new DateTime(1601, 1, 1))
{
filetime.dwHighDateTime = 0;
filetime.dwLowDateTime = 0;
return filetime;
}
// adjust for WIN32 FILETIME base.
long ticks = 0;
ticks = datetime.Subtract(new TimeSpan(new DateTime(1601, 1, 1).Ticks)).Ticks;
filetime.dwHighDateTime = (int)((ticks >> 32) & 0xFFFFFFFF);
filetime.dwLowDateTime = (int)(ticks & 0xFFFFFFFF);
return filetime;
}
}