Delen via


Beveiligings- en toegangsrechten voor synchronisatieobjecten

Met het Windows-beveiligingsmodel kunt u de toegang tot gebeurtenis-, mutex-, semafore- en wachtbare timerobjecten beheren. Timerwachtrijen, tussengesloten variabelen en kritieke sectieobjecten zijn niet beveiligbaar. Zie Access-Control Modelvoor meer informatie.

U kunt een beveiligingsdescriptor opgeven voor een synchronisatieobject tussen processen wanneer u de CreateEvent-aanroept, CreateMutex-, CreateSemaphoreof CreateWaitableTimer functie. Als u NULL-opgeeft, krijgt het object een standaardbeveiligingsdescriptor. De Access-Control Lijsten (ACL's) in de standaardbeveiligingsdescriptor voor een synchronisatieobject afkomstig zijn van het primaire of imitatietoken van de maker.

Als u de beveiligingsdescriptor van een gebeurtenis, mutex, semaphore of waitable timer-object wilt ophalen of instellen, roept u de GetNamedSecurityInfo-aan, SetNamedSecurityInfo, GetSecurityInfoof SetSecurityInfo-functies.

De ingangen die worden geretourneerd door CreateEvent, CreateMutex, CreateSemaphoreen CreateWaitableTimer volledige toegang hebben tot het nieuwe object. Wanneer u de OpenEventaanroept, OpenMutex, OpenSemaphoreen OpenWaitableTimer functies, controleert het systeem de aangevraagde toegangsrechten op de beveiligingsdescriptor van het object.

De geldige toegangsrechten voor de synchronisatieobjecten tussen processen omvatten de standaardtoegangsrechten en bepaalde objectspecifieke toegangsrechten. De volgende tabel bevat de standaardtoegangsrechten die door alle objecten worden gebruikt.

Waarde Betekenis
DELETE- (0x00010000L) Vereist om het object te verwijderen.
READ_CONTROL (0x00020000L) Vereist voor het lezen van informatie in de beveiligingsdescriptor voor het object, niet inclusief de informatie in de SACL. Als u sacl wilt lezen of schrijven, moet u het ACCESS_SYSTEM_SECURITY toegangsrecht aanvragen. Zie SACL Access Rightvoor meer informatie.
SYNCHRONISEREN (0x00100000L) Het recht om het object te gebruiken voor synchronisatie. Hierdoor kan een thread wachten totdat het object de gesignaleerde status heeft.
WRITE_DAC (0x00040000L) Vereist voor het wijzigen van de DACL in de beveiligingsdescriptor voor het object.
WRITE_OWNER (0x00080000L) Vereist om de eigenaar in de beveiligingsdescriptor voor het object te wijzigen.

 

De volgende tabel bevat de objectspecifieke toegangsrechten voor gebeurtenisobjecten. Deze rechten worden ondersteund naast de standaardtoegangsrechten.

Waarde Betekenis
EVENT_ALL_ACCESS (0x1F0003) Alle mogelijke toegangsrechten voor een gebeurtenisobject. Gebruik dit recht alleen als uw toepassing toegang vereist die verder gaat dan de standaardtoegangsrechten en EVENT_MODIFY_STATE. Als u dit toegangsrecht gebruikt, wordt de mogelijkheid vergroot dat uw toepassing moet worden uitgevoerd door een beheerder.
EVENT_MODIFY_STATE (0x0002) Wijzig statustoegang, die vereist is voor de SetEvent-, ResetEvent- en PulseEvent--functies.

 

De volgende tabel bevat de objectspecifieke toegangsrechten voor mutex-objecten. Deze rechten worden ondersteund naast de standaardtoegangsrechten.

Waarde Betekenis
MUTEX_ALL_ACCESS (0x1F0001) Alle mogelijke toegangsrechten voor een mutex-object. Gebruik dit recht alleen als uw toepassing toegang vereist die verder gaat dan de standaardtoegangsrechten. Als u dit toegangsrecht gebruikt, wordt de mogelijkheid vergroot dat uw toepassing moet worden uitgevoerd door een beheerder.
MUTEX_MODIFY_STATE (0x0001) Gereserveerd voor toekomstig gebruik.

 

De volgende tabel bevat de objectspecifieke toegangsrechten voor semaphore-objecten. Deze rechten worden ondersteund naast de standaardtoegangsrechten.

Waarde Betekenis
SEMAPHORE_ALL_ACCESS (0x1F0003) Alle mogelijke toegangsrechten voor een semaphore-object. Gebruik dit recht alleen als voor uw toepassing toegang is vereist die is verleend door de standaardtoegangsrechten en SEMAPHORE_MODIFY_STATE. Als u dit toegangsrecht gebruikt, wordt de mogelijkheid vergroot dat uw toepassing moet worden uitgevoerd door een beheerder.
SEMAPHORE_MODIFY_STATE (0x0002) Wijzig statustoegang, die vereist is voor de ReleaseSemaphore functie.

 

De volgende tabel bevat de objectspecifieke toegangsrechten voor wachtbare timerobjecten. Deze rechten worden ondersteund naast de standaardtoegangsrechten.

Waarde Betekenis
TIMER_ALL_ACCESS (0x1F0003) Alle mogelijke toegangsrechten voor een wachtbaar timerobject. Gebruik dit recht alleen als uw toepassing toegang vereist die verder gaat dan de standaardtoegangsrechten en TIMER_MODIFY_STATE. Als u dit toegangsrecht gebruikt, wordt de mogelijkheid vergroot dat uw toepassing moet worden uitgevoerd door een beheerder.
TIMER_MODIFY_STATE (0x0002) Wijzig statustoegang, die vereist is voor de functies SetWaitableTimer en CancelWaitableTimer.
TIMER_QUERY_STATE (0x0001) Gereserveerd voor toekomstig gebruik.

 

Als u de SACL van een synchronisatieobject tussen processen wilt lezen of schrijven, moet u het ACCESS_SYSTEM_SECURITY toegangsrecht aanvragen. Zie Access-Control Lijsten (ACL's) en SACL Access Rightvoor meer informatie.