I found a note, in Kernel Mustard's (Steve Dispensa) blog, about guarded mutexes, which is a completely new synchronization object to me.
typedef struct _KGUARDED_MUTEX ULONG Count; PKTHREAD Owner; ULONG Contention; KGATE Gate; WORD KernelApcDisable; WORD SpecialApcDisable; ULONG CombinedApcDisable; } KGUARDED_MUTEX, *PKGUARDED_MUTEX;
What are they? KM says they are less expensive than FAST_MUTEXes.
By the way, what is a KGATE?
Emanuele