Opc.Ua.Win32.Encode_FILETIME C# (CSharp) Method

Encode_FILETIME() public static method

Encodes a WIN32 FILETIME.
public static Encode_FILETIME ( System.DateTime datetime ) : System.Runtime.InteropServices.ComTypes.FILETIME
datetime System.DateTime
return System.Runtime.InteropServices.ComTypes.FILETIME
        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;
        }
    }