エラー処理を無視するとこんな感じ?

void func(
OUT LPSYSTEMTIME lpEndDateTime, /* 終了予想日時 */
IN LPSYSTEMTIME lpStartDateTime, /* 開始日時 */
IN DWORD dwLateTime /* 処理予測時間[sec] */
)
{
 FILETIME ft;
 SystemTimeToFileTime(lpStartDateTime, &ft);

 unsigned __int64 et = (((unsigned __int64)ft.dwHighDateTime) << 32) + ft.dwLowDateTime;
 et += (unsigned __int64)dwLateTime * 10 * 1000 * 1000;

 ft.dwHighDateTime = (DWORD)(et >> 32);
 ft.dwLowDateTime = (DWORD)(et & 0xFFFFFFFF);

 FileTimeToSystemTime(&ft, lpEndDateTime);
}