EventWaitHandleAcl.Create Methode

Definitie

Hiermee haalt u een EventWaitHandle exemplaar op of maakt, zodat een EventWaitHandleSecurity exemplaar optioneel kan worden opgegeven om deze in te stellen tijdens het maken van de gebeurtenis.

public:
 static System::Threading::EventWaitHandle ^ Create(bool initialState, System::Threading::EventResetMode mode, System::String ^ name, [Runtime::InteropServices::Out] bool % createdNew, System::Security::AccessControl::EventWaitHandleSecurity ^ eventSecurity);
public static System.Threading.EventWaitHandle Create(bool initialState, System.Threading.EventResetMode mode, string? name, out bool createdNew, System.Security.AccessControl.EventWaitHandleSecurity? eventSecurity);
static member Create : bool * System.Threading.EventResetMode * string * bool * System.Security.AccessControl.EventWaitHandleSecurity -> System.Threading.EventWaitHandle
Public Shared Function Create (initialState As Boolean, mode As EventResetMode, name As String, ByRef createdNew As Boolean, eventSecurity As EventWaitHandleSecurity) As EventWaitHandle

Parameters

initialState
Boolean

true om de initiële status in te stellen op gesignaleerd als de benoemde gebeurtenis wordt gemaakt als gevolg van deze aanroep; false om deze in te stellen op niet-gesignaleerd.

mode
EventResetMode

Een van de enum-waarden waarmee wordt bepaald of de gebeurtenis automatisch of handmatig opnieuw wordt ingesteld.

name
String

De naam, als het synchronisatieobject moet worden gedeeld met andere processen; anders of null een lege tekenreeks. De naam is hoofdlettergevoelig. Het backslashteken (\) is gereserveerd en kan alleen worden gebruikt om een naamruimte op te geven. Zie de sectie Opmerkingen voor meer informatie over naamruimten. Er kunnen verdere beperkingen gelden voor de naam, afhankelijk van het besturingssysteem. Op Unix-besturingssystemen moet de naam na het uitsluiten van de naamruimte bijvoorbeeld een geldige bestandsnaam zijn.

createdNew
Boolean

Wanneer deze methode wordt geretourneerd, wordt dit argument altijd ingesteld true op als er een lokale gebeurtenis wordt gemaakt, dat wil gezegd, wanneer namenull of Empty. Als name een geldige, niet-lege waarde is, wordt dit argument ingesteld op true wanneer de systeemgebeurtenis wordt gemaakt of is ingesteld false op of een bestaande systeemgebeurtenis met die naam wordt gevonden.

eventSecurity
EventWaitHandleSecurity

De optionele Windows beveiliging voor toegangsbeheer die moet worden toegepast.

Retouren

Een object dat een wachtgreep voor een gebeurtenis vertegenwoordigt zoals aangevraagd.

Uitzonderingen

De mode opsommingswaarde was buiten het juridische bereik.

– of –

alleen .NET Framework: name is langer dan MAX_PATH (260 tekens).

De mode opsommingswaarde was buiten het juridische bereik. In sommige gevallen wordt in plaats daarvan ArgumentException gegooid.

name is ongeldig. Dit kan om verschillende redenen zijn, waaronder enkele beperkingen die mogelijk door het besturingssysteem worden geplaatst, zoals een onbekend voorvoegsel of ongeldige tekens. Houd er rekening mee dat de naam en algemene voorvoegsels 'Global\' en 'Local\' hoofdlettergevoelig zijn.

– of –

Er is een andere fout opgetreden. De HResult eigenschap kan meer informatie bevatten.

alleen Windows: name een onbekende naamruimte opgegeven. Zie Objectnamen voor meer informatie.

Het name is te lang. Lengtebeperkingen kunnen afhankelijk zijn van het besturingssysteem of de configuratie.

Een synchronisatieobject met de opgegeven name kan niet worden gemaakt. Een synchronisatieobject van een ander type kan dezelfde naam hebben.

De benoemde gebeurtenis bestaat, maar de gebruiker heeft niet de gewenste beveiligingstoegang.

alleen .NET Framework: de lengte van name is langer dan MAX_PATH (260 tekens).

Opmerkingen

De name naamruimte kan worden voorafgegaan door Global\ of Local\ om een naamruimte op te geven. Wanneer de Global naamruimte is opgegeven, kan het synchronisatieobject worden gedeeld met processen op het systeem. Wanneer de Local naamruimte is opgegeven, wat ook de standaardwaarde is wanneer er geen naamruimte is opgegeven, kan het synchronisatieobject worden gedeeld met processen in dezelfde sessie. Op Windows is een sessie een aanmeldingssessie en worden services meestal uitgevoerd in een andere niet-interactieve sessie. Op Unix-achtige besturingssystemen heeft elke shell een eigen sessie. Sessie-lokale synchronisatieobjecten zijn mogelijk geschikt voor synchronisatie tussen processen met een bovenliggende/onderliggende relatie, waar ze allemaal in dezelfde sessie worden uitgevoerd. Zie Objectnamen voor meer informatie over de namen van synchronisatieobjecten in Windows.

Als er een name is opgegeven en er al een synchronisatieobject van het aangevraagde type bestaat in de naamruimte, wordt het bestaande synchronisatieobject geopend. Als er al een synchronisatieobject van een ander type bestaat in de naamruimte, wordt er een WaitHandleCannotBeOpenedException gegenereerd. Anders wordt er een nieuw synchronisatieobject gemaakt.

Caution

Standaard is een benoemde gebeurtenis niet beperkt tot de gebruiker die deze heeft gemaakt. Andere gebruikers kunnen de gebeurtenis mogelijk openen en gebruiken, waaronder het verstoren van de gebeurtenis door deze in te stellen of ongepast opnieuw in te stellen. Als u de toegang tot specifieke gebruikers wilt beperken, kunt u een EventWaitHandleSecurity doorgeven bij het maken van de benoemde gebeurtenis. Vermijd het gebruik van benoemde gebeurtenissen zonder toegangsbeperkingen voor systemen waarop mogelijk niet-vertrouwde gebruikers code uitvoeren.

Van toepassing op