static void test_conversions(void) { FILETIME ft; SYSTEMTIME st; memset(&ft,0,sizeof ft); SetLastError(0xdeadbeef); SETUP_EARLY(st) ok (!SystemTimeToFileTime(&st, &ft), "Conversion succeeded EARLY\n"); ok (GetLastError() == ERROR_INVALID_PARAMETER || GetLastError() == 0xdeadbeef, /* win9x */ "EARLY should be INVALID\n"); SETUP_ZEROTIME(st) ok (SystemTimeToFileTime(&st, &ft), "Conversion failed ZERO_TIME\n"); ok( (!((ft.dwHighDateTime != 0) || (ft.dwLowDateTime != 0))), "Wrong time for ATIME: %08x %08x (correct %08x %08x)\n", ft.dwLowDateTime, ft.dwHighDateTime, 0, 0); SETUP_ATIME(st) ok (SystemTimeToFileTime(&st,&ft), "Conversion Failed ATIME\n"); ok( (!((ft.dwHighDateTime != ATIME_HI) || (ft.dwLowDateTime!=ATIME_LOW))), "Wrong time for ATIME: %08x %08x (correct %08x %08x)\n", ft.dwLowDateTime, ft.dwHighDateTime, ATIME_LOW, ATIME_HI); SETUP_2002(st) ok (SystemTimeToFileTime(&st, &ft), "Conversion failed 2002\n"); ok( (!((ft.dwHighDateTime != MAYDAY_2002_HI) || (ft.dwLowDateTime!=MAYDAY_2002_LO))), "Wrong time for 2002 %08x %08x (correct %08x %08x)\n", ft.dwLowDateTime, ft.dwHighDateTime, MAYDAY_2002_LO, MAYDAY_2002_HI); SETUP_1980(st) ok((SystemTimeToFileTime(&st, &ft)), "Conversion failed 1980\n"); ok( (!((ft.dwHighDateTime!=NEWYEAR_1980_HI) || (ft.dwLowDateTime!=NEWYEAR_1980_LO))) , "Wrong time for 1980 %08x %08x (correct %08x %08x)\n", ft.dwLowDateTime, ft.dwHighDateTime, NEWYEAR_1980_LO,NEWYEAR_1980_HI ); ok(DosDateTimeToFileTime(DOS_DATE(1980,1,1),DOS_TIME(0,0,0),&ft), "DosDateTimeToFileTime() failed\n"); ok( (!((ft.dwHighDateTime!=NEWYEAR_1980_HI) || (ft.dwLowDateTime!=NEWYEAR_1980_LO))), "Wrong time DosDateTimeToFileTime %08x %08x (correct %08x %08x)\n", ft.dwHighDateTime, ft.dwLowDateTime, NEWYEAR_1980_HI, NEWYEAR_1980_LO); }
static void test_conversions(void) { FILETIME ft; SYSTEMTIME st; memset(&ft,0,sizeof ft); SETUP_ATIME(st) ok (SystemTimeToFileTime(&st,&ft), "Conversion Failed ATIME\n"); ok( (!((ft.dwHighDateTime != ATIME_HI) || (ft.dwLowDateTime!=ATIME_LOW))), "Wrong time for ATIME: %08lx %08lx (correct %08x %08x)\n", ft.dwLowDateTime, ft.dwHighDateTime, ATIME_LOW, ATIME_HI); SETUP_2002(st) ok (SystemTimeToFileTime(&st, &ft), "Conversion failed 2002\n"); ok( (!((ft.dwHighDateTime != MAYDAY_2002_HI) || (ft.dwLowDateTime!=MAYDAY_2002_LO))), "Wrong time for 2002 %08lx %08lx (correct %08x %08x)\n", ft.dwLowDateTime, ft.dwHighDateTime, MAYDAY_2002_LO, MAYDAY_2002_HI); SETUP_1980(st) ok((SystemTimeToFileTime(&st, &ft)), "Conversion failed 1980\n"); ok( (!((ft.dwHighDateTime!=NEWYEAR_1980_HI) || (ft.dwLowDateTime!=NEWYEAR_1980_LO))) , "Wrong time for 1980 %08lx %08lx (correct %08x %08x)\n", ft.dwLowDateTime, ft.dwHighDateTime, NEWYEAR_1980_LO,NEWYEAR_1980_HI ); ok(DosDateTimeToFileTime(DOS_DATE(1980,1,1),DOS_TIME(0,0,0),&ft), "DosDateTimeToFileTime() failed\n"); ok( (!((ft.dwHighDateTime!=NEWYEAR_1980_HI) || (ft.dwLowDateTime!=NEWYEAR_1980_LO))), "Wrong time DosDateTimeToFileTime %08lx %08lx (correct %08x %08x)\n", ft.dwHighDateTime, ft.dwLowDateTime, NEWYEAR_1980_HI, NEWYEAR_1980_LO); }
static void test_invalid_arg(void) { FILETIME ft; SYSTEMTIME st; /* Invalid argument checks */ memset(&ft,0,sizeof ft); ok( DosDateTimeToFileTime(DOS_DATE(1980,1,1),DOS_TIME(0,0,0),&ft), /* this is 1 Jan 1980 00:00:00 */ "DosDateTimeToFileTime() failed\n"); ok( (ft.dwHighDateTime==NEWYEAR_1980_HI) && (ft.dwLowDateTime==NEWYEAR_1980_LO), "filetime for 1/1/80 00:00:00 was %08x %08x\n", ft.dwHighDateTime, ft.dwLowDateTime); /* now check SystemTimeToFileTime */ memset(&ft,0,sizeof ft); /* try with a bad month */ SETUP_1980(st) st.wMonth = 0; ok( !SystemTimeToFileTime(&st, &ft), "bad month\n"); /* with a bad hour */ SETUP_1980(st) st.wHour = 24; ok( !SystemTimeToFileTime(&st, &ft), "bad hour\n"); /* with a bad minute */ SETUP_1980(st) st.wMinute = 60; ok( !SystemTimeToFileTime(&st, &ft), "bad minute\n"); }