You may check Intel Threading Blocks sources:
Their synchronization primitives contain lines like "ITT_NOTIFY(sync_acquired, &m);".
I do not actually know as to whether it works with Thread Checker or not, but I suspect that it must.
That's very helpful. I didn't know about that API because I'm on a Linux system and the online help appears to be only available on Windows systems.
We have a complex system with a variety of locks, so I'll have to see if I can successfully use the API calls to reduce the number of false positives reported by TC.
It turns out that the user-level synchronization API is probably what I'm looking for. Its write-up is hidden in the Windows documentation; I'm developing a Linux system.