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