private static DateTime PosixTimeToDateTime(NetlogonAPI.POSIX_TIME posixDCTime) { DateTime DCDateTime = new DateTime( posixDCTime.tm_year + 1900, posixDCTime.tm_mon, posixDCTime.tm_mday, posixDCTime.tm_hour, posixDCTime.tm_min, posixDCTime.tm_sec ); return(DCDateTime); }
public uint GetDCTime( string domainFQDN, out DateTime DCTime ) { DCTime = new DateTime(); uint error = 0; NetlogonAPI.POSIX_TIME posixDCTime = new NetlogonAPI.POSIX_TIME(); try { Logger.Log(String.Format("GetDCTime({0}) called", domainFQDN), Logger.NetlogonLogLevel); error = NetlogonAPI.LWNetGetDCTime( domainFQDN, out posixDCTime); DCTime = PosixTimeToDateTime(posixDCTime); Logger.Log(String.Format("GetDCTime() returned {0}, error={1}", DCTime, error), Logger.NetlogonLogLevel); } catch (Exception e) { Logger.LogException("Netlogon.GetDCTime", e); if (error == 0) { error = CNetlogon.Definitions.LWNET_ERROR_INTEROP_EXCEPTION; } } return(error); }