PsGetProcessCreateTimeQuadPart возвращает странные значения.
От: donkombat  
Дата: 04.08.10 10:29
Оценка:
Всем добрый день!
Использую следующую конструкцию:

LONGLONG ProcessCreateTime;
if((pCurrProc = PsGetCurrentProcess()) != NULL)
  ProcessCreateTime = PsGetProcessCreateTimeQuadPart(pCurrProc);
else
  ProcessCreateTime = 0;


и ProcessCreateTime принимает иногда отрицательные значения, или просто невалидные например 278583392. Подскажите пожалуйста в чем может быть проблема.
смотрел в интернете и в документации по PsGetProcessCreateTimeQuadPart, таких вариантов не встречалось.
Функции PsGetCurrentProcessId и KeQuerySystemTime возвращают верные значения. Смотрел в дебагере структуру pCurrProc для текущего процесса и там видел имя этого процесса, поэтому похоже структура валидна. Сейчас не знаю какие еще провести исследования.
Re: PsGetProcessCreateTimeQuadPart возвращает странные значе
От: donkombat  
Дата: 05.08.10 06:10
Оценка:
Немного продвинулся.
D>
D>LONGLONG ProcessCreateTime;
D>if((pCurrProc = PsGetCurrentProcess()) != NULL)
D>  ProcessCreateTime = PsGetProcessCreateTimeQuadPart(pCurrProc);
D>else
D>  ProcessCreateTime = 0;
D>


при копировании в ProcessCreateTime копируются только первые 4 байта. все pragma выставлены верно, поэтому посмотрю натсройки проекта, может там где-то есть влияние.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.