Hartmut Birr wrote:
 Alex Ionescu wrote:
 How can a user-mode thread create a mutex?
 
Simply with CreateMutex.
 
CreateMutex creates a Mutant....
 I change the assert statement to:
ASSERT(Mutant->Header.Size == sizeof(KMUTANT)/sizeof(ULONG));
This does ros crash only for mutex objects and not for mutant objects.
 
That's what the assert should do as well. Mutants have APC Disable = 0.
Mutexes have it =1. Usermode can only create mutant, so apcdisable will
always be 0.
I don't understand how user-mode can create a mutex?
 - Hartmut
 
Best regards,
Alex Ionescu