Log in

View Full Version : Setting the Event Pair of a Thread..


BanMe
June 19th, 2009, 20:06
This method seems to be no longer in use in XP sp2 or sp3 all supporting API are still there and functionable
yet the key function NtSetInformationThread with passed in _THREADINFOCLASS.ThreadEventPair return STATUS_INVALID_INFO_CLASS.. EventPairs seem to be no longer needed in the implementation of QuickLPC in the mentioned environments as the POC Server and Client work without a hitch.

regards BanMe

Kayaker
June 19th, 2009, 22:34
{EDIT} - You edited your post at the same time I posted this...oh well


According to the Windows NT/2000 Native API Reference by Gary Nebbet

THREAD_INFORMATION_CLASS ThreadEventPair

In Windows 2000 this information class has been removed and STATUS_INFO_CLASS_INVALID is returned.


Code:
http://books.google.ca/books?id=Fp1ct-bKYdcC&pg=RA1-PA122&lpg=RA1-PA122&dq=ThreadEventPair&source=bl&ots=ciPwb2wKdO&sig=bzXaxbR19xjF1Hu8ccoUUNlBstY&hl=en&ei=ckQ8Sv7VO8ygmAfYl6yfDg&sa=X&oi=book_result&ct=result&resnum=4



I've confirmed that in XP with Softice and a global breakpoint on NtSetInformationThread. Change [ebp+0C] to 8 and the function always reaches STATUS_INFO_CLASS_INVALID.


What about using those other functions related to NtCreateEventPair?

NtSetLowEventPair
NtSetHighEventPair
NtWaitHighEventPair
NtWaitLowEventPair
NtSetHighWaitLowEventPair