Motivation
The following conditional break point works like we modified the second parameter, which is timeout value, automatically if hit break point for kernel32!WaitForSingleObjet then the first parameter, which is event handle,  0x134. then print debug string like “Hit BP then modify parameter default value for the application to 60 sec, then print debug time , then print call stack at this time then continue to run.  kd>bp kernel32!WaitForSingleObject “j poi(esp+4)=0x134 ‘r $t0=esp+8;ed $t0 0xea60;.echo Hit; .time, kv; gc’;’gc'” 
For example, Here is when I debug customer application which has problem in the seamless session. This application has 200 ms as a default timeout value to monitor other application executed from itself  in the main UI thread. To prevent this loop what AA call back routine receives AA Event from OS because this loop consume to monitor process then take an impact to manage application message queue.

Debug Log

HitDebug session time: Fri Aug 11 18:45:36.234 2006 (GMT+9)
System Uptime: 0 days 2:35:25.593
Process Uptime: 0 days 2:03:28.187 
Kernel time: 0 days 0:00:02.953 
User time: 0 days 0:00:00.343
ChildEBP RetAddr  Args to Child&nbsp
0012ed6c 40a1c67b 00000134 0000ea60 00040036 kernel32!WaitForSingleObject (FPO: [Non-Fpo])
// A certain application has 200ms timeout value, but I keep patching the second parameter to 60 sec during this application is runing in the seamless session as following. It will works fine to me

~ snip ~ 

Global Escalation Manager Tokyo
-fb