Interprocess Synchronization Objects
The interprocess synchronization objects (event, mutex, semaphore, and timer) are securable. Critical section objects, which are per-process synchronization objects, are not securable.
Event Objects
The valid access rights for event objects are STANDARD_RIGHTS_REQUIRED and the rights given in the following table.
Value | Meaning |
EVENT_ALL_ACCESS | Specifies all possible access rights for an event object. |
EVENT_MODIFY_STATE | Specifies modify state (release) access. |
SYNCHRONIZE | Specifies synchronization (wait or release) access. |
The handle returned by the CreateEvent function has EVENT_ALL_ACCESS access to the semaphore object.
Mutex Objects
The valid access rights for mutex objects are STANDARD_RIGHTS_REQUIRED and the rights given in the following table.
Value | Meaning |
MUTEX_ALL_ACCESS | Specifies all possible access rights for a mutex object. |
MUTEX_MODIFY_STATE | Specifies modify state (release) access. |
SYNCHRONIZE | Specifies synchronization (wait or release) access. |
The handle returned by the CreateMutex function has MUTEX_ALL_ACCESS access to the mutex object.
Semaphore Objects
The valid access rights for semaphore objects are STANDARD_RIGHTS_REQUIRED and the rights given in the following table.
Value | Meaning |
SEMAPHORE_ALL_ACCESS | Specifies all possible access rights for a semaphore object. |
SEMAPHORE_MODIFY_STATE | Specifies modify state (release) access. |
SYNCHRONIZE | Specifies synchronization (wait) access. |
The handle returned by the CreateSemaphore function has SEMAPHORE_ALL_ACCESS access to the semaphore object.
Timer Objects
The valid access rights for timer objects are STANDARD_RIGHTS_REQUIRED and the rights given in the following table.
Value | Meaning |
TIMER_ALL_ACCESS | Specifies all possible access rights for a timer object. |
TIMER_MODIFY_STATE | Specifies modify state (release) access. |
SYNCHRONIZE | Specifies synchronization (wait or release) access. |
The handle returned by the CreateWaitableTimer function has TIMER_ALL_ACCESS access to the timer object.