Cool new Vista APIs for determining Thread Wait States

I haven't yet had a chance to play with these yet, but Vista includes new APIs for determining why a thread is blocked. That is, you can learn that thread 'A' is blocked on object 'X' which is owned by thread 'B'. Thread 'B' in turn in blocked on object 'Y', which is owned by thread 'C', and so on.

This subject is particularly of interest to me, given my prior article on Critical Sections with Russ Osterlund:

Anyhow, The Wait Chain Traversal APIs are documentated here:

And a sample here: