LARGE_INTEGER SystemTime;
LARGE_INTEGER LocalTime;
TIME_FIELDS timeFiled;
NTSTATUS Status = STATUS_UNSUCCESSFUL;
ULONG Value = 0;
size_t StrLens = 0;
ULONG rand_seed = 0;
LONGLONG days_plus = 0;
LONGLONG time_tick = 0;
//
{
KeQuerySystemTime(&SystemTime);
if(!RunImm){
//延迟7-15天生效
rand_seed = SystemTime.LowPart;
days_plus = RtlRandom(&rand_seed) % 9 + 7;
KdPrint(("days plus = %d\n",days_plus));
time_tick = days_plus*24*3600*10000000;
}
SystemTime.QuadPart += time_tick;
如果days_plus是ULONG类型,在执行
time_tick = days_plus*24*3600*10000000;
时将导致溢出,time_tick会被截断。