Вниз
Скачать: CL | DM;

Информации из контекста потока   Найти похожие ветки 

← →
tar4   (2006-08-23 14:20) [0]

После выполнения функции  
CreateProcess(nil,Filename,nil,nil,CREATEe_SUSPEND,nil,nil,StartUpInfo,Process_I nformation)
и затем
Context.ContextFlags:=Context_Control (необходима для чтения или записи регистров)  пытаюсь прочитать необходимую мне информацию о регистрах через функцию
GetThreadContext (hThread, Context), где hThread - хэндл потока, полученный из Process_Information.
Однако структура Context  заполнена нулями. Почему, так и должно быть?


← →
BiN ©   (2006-08-23 15:16) [1]

Дай угадаю.
You cannot get a valid context for a running thread.
(с) msdn


← →
BiN ©   (2006-08-23 16:32) [2]

Пардон, не заметил CREATEe_SUSPEND.
Приведи тогда код, где, конечно же, проверяется значение, возвращенное функцией GetThreadContext.


← →
tar4   (2006-08-24 06:34) [3]

Bin, спасибо  за желание помощь. Проблему решил сам. Если кому интересно, то
не только перед SetThreadContext, но и перед GetThreadContext нужно обязательно инициировать одно из полей структуры Context - ContextFlags. Я это знал, но что-то не подумал, что не только для записи, но и для чтения, например, регистра Eip нужно присваивать   ContextFlags=CONTEXT_CONTROL (чтение и запись ЕАХ, ЕСХ и т.д.).


← →
Ketmar ©   (2006-08-24 09:55) [4]

> [3] tar4   (24.08.06 06:34)
о чём написано английским по хэлпу, кстати. %-))



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.027 c
8-1147428756
Torin
2006-05-12 14:12
2006.12.31
Модем, проиграть wav и записать ответ


15-1165829210
RightD
2006-12-11 12:26
2006.12.31
Кто запустил программу?


2-1165940591
Фесс
2006-12-12 19:23
2006.12.31
Сортировка жесткого диска


2-1165897474
Kvinta
2006-12-12 07:24
2006.12.31
Вернуть Field а ADO


15-1166028114
Ученик чародея
2006-12-13 19:41
2006.12.31
DOS, Линукс, терминальное решение.




   Наверх