DateTime internal representation to FILETIME
This function always returns 0, but you haven't stated why that's important for this use (if it's intended).  Since it doesn't also return 1 or another non-0 value for failure, I assume that it's not returning error codes.  Otherwise, it should return void, and the return 0 should then be removed.
Since this is also tagged with c++, I'll also provide the C++ equivalent of the constants given in @chux's answer:

constexpr unsigned long long FT_SECONDS_PER_DAY = 24ULL * 60 * 60;
constexpr unsigned long long FT_SECOND = 10000000ULL;


(constexpr has them evaluated at compile time.)

Or for brevity, they can use auto instead:

constexpr auto FT_SECONDS_PER_DAY = 24ULL * 60 * 60;
constexpr auto FT_SECOND = 10000000ULL;