static dt_status_t dt_timestamp_to_filetime()

in src/win32/dt_win32.c [190:204]


static dt_status_t dt_timestamp_to_filetime(const dt_timestamp_t *ts, PFILETIME ft)
{
    LARGE_INTEGER li;

    if (!ts || !ft) {
        return DT_INVALID_ARGUMENT;
    }

    li.QuadPart = ts->second * 10000000;
    li.QuadPart += ts->nano_second / 100;
    ft->dwLowDateTime = (long)li.QuadPart;
    li.QuadPart >>= 32;
    ft->dwHighDateTime = (long)li.QuadPart;
    return DT_OK;
}