May be I was not clear. I think I havent given the correct information/ I did not put it in right words. I am sorry for that.

Currently, I have a MultiThreaded program which runs perfectly with the "time-out interval" in "WaitForSingleObject" function. I want to make it "INFINITE" and make it do some work for me when it detects "user Log-off" event from windows.

For now I just know that, "WaitForSingleObject" function only takes handle and time out.
Is there a way to send the windows event as Handle to this function?
If, I am not going on a right path can someone please please suggest me, what I can do to improve this code and make the program RUN.

Thanks in Advance.