*/
public void testSkewBetweenUNIXEpochAndWindowsEpoch() {
try {
CDLL dll = CDLL.LoadLibrary("kernel32.dll");
CFunction systemTimeToFileTime = dll
.loadFunction("SystemTimeToFileTime");
SYSTEMTIME zeroTime = new SYSTEMTIME();
zeroTime.wDay.setValue((short)1);
zeroTime.wMonth.setValue((short)1);
zeroTime.wYear.setValue((short)1601);
zeroTime.wHour.setValue((short)0);
zeroTime.wMinute.setValue((short)0);
zeroTime.wSecond.setValue((short)0);
zeroTime.wMilliseconds.setValue((short)0);
SYSTEMTIME UNIXepochTime = new SYSTEMTIME();
UNIXepochTime.wDay.setValue((short)1);
UNIXepochTime.wMonth.setValue((short)1);
UNIXepochTime.wYear.setValue((short)1970);
UNIXepochTime.wHour.setValue((short)0);
UNIXepochTime.wMinute.setValue((short)0);
UNIXepochTime.wSecond.setValue((short)0);
UNIXepochTime.wMilliseconds.setValue((short)0);
FILETIME zeroFileTime = new FILETIME();
FILETIME UNIXepochFileTime = new FILETIME();
Object[] ary1 = { zeroTime, zeroFileTime };
CInt o = (CInt) systemTimeToFileTime.call(CInt.class, ary1,
CFunction.FUNCFLAG_STDCALL);
assertTrue(o.getValue() != 0);
Object[] ary2 = { UNIXepochTime, UNIXepochFileTime };
CInt o1 = (CInt) systemTimeToFileTime.call(CInt.class, ary2,
CFunction.FUNCFLAG_STDCALL);
assertTrue(o.getValue() != 0);
long zeroCount = (zeroFileTime.dwHighDateTime.getValue() << 32) + (zeroFileTime.dwLowDateTime.getValue());
long hi = U32Jint2Jlong(UNIXepochFileTime.dwHighDateTime.getValue());