EventWaitHandle.TryOpenExisting Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee opent u een opgegeven benoemde synchronisatiegebeurtenis, als deze al bestaat en wordt een waarde geretourneerd die aangeeft of de bewerking is geslaagd.
Overloads
| Name | Description |
|---|---|
| TryOpenExisting(String, EventWaitHandle) |
Hiermee opent u de opgegeven benoemde synchronisatiegebeurtenis, als deze al bestaat en retourneert u een waarde die aangeeft of de bewerking is geslaagd. |
| TryOpenExisting(String, EventWaitHandleRights, EventWaitHandle) |
Hiermee opent u de opgegeven benoemde synchronisatiegebeurtenis, als deze al bestaat, met de gewenste beveiligingstoegang en retourneert u een waarde die aangeeft of de bewerking is geslaagd. |
| TryOpenExisting(String, NamedWaitHandleOptions, EventWaitHandle) |
Hiermee opent u de opgegeven benoemde synchronisatiegebeurtenis, als deze al bestaat en retourneert u een waarde die aangeeft of de bewerking is geslaagd. Als de opties alleen zijn ingesteld op de huidige gebruiker, worden de toegangsbeheer van het object geverifieerd voor de aanroepende gebruiker. |
TryOpenExisting(String, EventWaitHandle)
- Bron:
- EventWaitHandle.cs
- Bron:
- EventWaitHandle.cs
- Bron:
- EventWaitHandle.cs
- Bron:
- EventWaitHandle.cs
- Bron:
- EventWaitHandle.cs
Hiermee opent u de opgegeven benoemde synchronisatiegebeurtenis, als deze al bestaat en retourneert u een waarde die aangeeft of de bewerking is geslaagd.
public:
static bool TryOpenExisting(System::String ^ name, [Runtime::InteropServices::Out] System::Threading::EventWaitHandle ^ % result);
[System.Security.SecurityCritical]
public static bool TryOpenExisting(string name, out System.Threading.EventWaitHandle result);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static bool TryOpenExisting(string name, out System.Threading.EventWaitHandle? result);
public static bool TryOpenExisting(string name, out System.Threading.EventWaitHandle result);
public static bool TryOpenExisting(string name, out System.Threading.EventWaitHandle? result);
[<System.Security.SecurityCritical>]
static member TryOpenExisting : string * EventWaitHandle -> bool
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member TryOpenExisting : string * EventWaitHandle -> bool
static member TryOpenExisting : string * EventWaitHandle -> bool
Public Shared Function TryOpenExisting (name As String, ByRef result As EventWaitHandle) As Boolean
Parameters
- name
- String
De naam van het synchronisatieobject dat moet worden geopend en gedeeld met andere processen. 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 zijn mogelijk verdere beperkingen voor de naam, afhankelijk van het besturingssysteem. Op Unix-besturingssystemen moet de naam na het uitsluiten van de naamruimte bijvoorbeeld een geldige bestandsnaam zijn.
- result
- EventWaitHandle
Wanneer deze methode wordt geretourneerd, bevat u een EventWaitHandle object dat de benoemde synchronisatiegebeurtenis vertegenwoordigt als de aanroep is geslaagd of null als de aanroep is mislukt. Deze parameter wordt behandeld als niet-geïnitialiseerd.
Retouren
true als de benoemde synchronisatiegebeurtenis is geopend; anders, false. In sommige gevallen false kan worden geretourneerd voor ongeldige namen.
- Kenmerken
Uitzonderingen
name is een lege tekenreeks.
– of –
alleen .NET Framework: name is langer dan MAX_PATH (260 tekens).
name is null.
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. Voor sommige ongeldige namen kan de methode in plaats daarvan worden geretourneerd false .
– of –
Er is een andere fout opgetreden. De HResult eigenschap biedt mogelijk meer informatie.
Het name is te lang. Lengtebeperkingen kunnen afhankelijk zijn van het besturingssysteem of de configuratie.
De benoemde gebeurtenis bestaat, maar de gebruiker heeft niet de gewenste beveiligingstoegang.
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 het synchroniseren 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 synchronisatieobject van het aangevraagde type bestaat in de naamruimte, wordt het bestaande synchronisatieobject geopend. Als er geen synchronisatieobject bestaat in de naamruimte of als er een synchronisatieobject van een ander type bestaat in de naamruimte, false wordt deze geretourneerd.
Als u de systeemgebeurtenis wilt maken wanneer deze nog niet bestaat, gebruikt u een van de EventWaitHandle constructors met een name parameter.
Als u niet zeker weet of er een benoemde synchronisatie-gebeurtenis bestaat, gebruikt u deze methode overbelast in plaats van de overbelasting van de OpenExisting(String) methode, wat een uitzondering genereert als de synchronisatie-gebeurtenis niet bestaat.
Deze overbelasting van de methode is gelijk aan het aanroepen van de overbelasting van de TryOpenExisting(String, EventWaitHandleRights, EventWaitHandle) methode en het opgeven en opgeven EventWaitHandleRights.Synchronize van EventWaitHandleRights.Modify rechten, gecombineerd met behulp van de bitsgewijze OR-bewerking. Als u de EventWaitHandleRights.Synchronize vlag opgeeft, kan een thread wachten op de benoemde systeem gebeurtenis en door de vlag op EventWaitHandleRights.Modify te geven, kan een thread de Set en Reset methoden aanroepen.
Meerdere aanroepen naar deze methode die dezelfde waarde gebruiken, name retourneren niet noodzakelijkerwijs hetzelfde EventWaitHandle object, ook al vertegenwoordigen de objecten die worden geretourneerd dezelfde benoemde systeemgebeurtenis.
Van toepassing op
TryOpenExisting(String, EventWaitHandleRights, EventWaitHandle)
Hiermee opent u de opgegeven benoemde synchronisatiegebeurtenis, als deze al bestaat, met de gewenste beveiligingstoegang en retourneert u een waarde die aangeeft of de bewerking is geslaagd.
public:
static bool TryOpenExisting(System::String ^ name, System::Security::AccessControl::EventWaitHandleRights rights, [Runtime::InteropServices::Out] System::Threading::EventWaitHandle ^ % result);
[System.Security.SecurityCritical]
public static bool TryOpenExisting(string name, System.Security.AccessControl.EventWaitHandleRights rights, out System.Threading.EventWaitHandle result);
[<System.Security.SecurityCritical>]
static member TryOpenExisting : string * System.Security.AccessControl.EventWaitHandleRights * EventWaitHandle -> bool
Public Shared Function TryOpenExisting (name As String, rights As EventWaitHandleRights, ByRef result As EventWaitHandle) As Boolean
Parameters
- name
- String
De naam van het synchronisatieobject dat moet worden geopend en gedeeld met andere processen. 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 zijn mogelijk verdere beperkingen voor de naam, afhankelijk van het besturingssysteem. Op Unix-besturingssystemen moet de naam na het uitsluiten van de naamruimte bijvoorbeeld een geldige bestandsnaam zijn.
- rights
- EventWaitHandleRights
Een bitsgewijze combinatie van de opsommingswaarden die de gewenste beveiligingstoegang vertegenwoordigen.
- result
- EventWaitHandle
Wanneer deze methode wordt geretourneerd, bevat u een EventWaitHandle object dat de benoemde synchronisatiegebeurtenis vertegenwoordigt als de aanroep is geslaagd of null als de aanroep is mislukt. Deze parameter wordt behandeld als niet-geïnitialiseerd.
Retouren
true als de benoemde synchronisatiegebeurtenis is geopend; anders, false. In sommige gevallen false kan worden geretourneerd voor ongeldige namen.
- Kenmerken
Uitzonderingen
name is een lege tekenreeks.
– of –
alleen .NET Framework: name is langer dan MAX_PATH (260 tekens).
name is null.
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. Voor sommige ongeldige namen kan de methode in plaats daarvan worden geretourneerd false .
– of –
Er is een andere fout opgetreden. De HResult eigenschap biedt mogelijk meer informatie.
Het name is te lang. Lengtebeperkingen kunnen afhankelijk zijn van het besturingssysteem of de configuratie.
De benoemde gebeurtenis bestaat, maar de gebruiker heeft niet de gewenste beveiligingstoegang.
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 het synchroniseren 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 synchronisatieobject van het aangevraagde type bestaat in de naamruimte, wordt het bestaande synchronisatieobject geopend. Als er geen synchronisatieobject bestaat in de naamruimte of als er een synchronisatieobject van een ander type bestaat in de naamruimte, false wordt deze geretourneerd.
Als u de systeemgebeurtenis wilt maken wanneer deze nog niet bestaat, gebruikt u een van de EventWaitHandle constructors met een name parameter.
Als u niet zeker weet of er een benoemde synchronisatie-gebeurtenis bestaat, gebruikt u deze methode overbelast in plaats van de overbelasting van de OpenExisting(String, EventWaitHandleRights) methode, wat een uitzondering genereert als de synchronisatie-gebeurtenis niet bestaat.
De rights parameter moet de EventWaitHandleRights.Synchronize vlag bevatten om threads toe te staan op de gebeurtenis te wachten en de EventWaitHandleRights.Modify vlag om threads toe te staan de Set en Reset methoden aan te roepen.
Meerdere aanroepen naar deze methode die dezelfde waarde gebruiken, name retourneren niet noodzakelijkerwijs hetzelfde EventWaitHandle object, ook al vertegenwoordigen de objecten die worden geretourneerd dezelfde benoemde systeemgebeurtenis.
Van toepassing op
TryOpenExisting(String, NamedWaitHandleOptions, EventWaitHandle)
- Bron:
- EventWaitHandle.cs
- Bron:
- EventWaitHandle.cs
Hiermee opent u de opgegeven benoemde synchronisatiegebeurtenis, als deze al bestaat en retourneert u een waarde die aangeeft of de bewerking is geslaagd. Als de opties alleen zijn ingesteld op de huidige gebruiker, worden de toegangsbeheer van het object geverifieerd voor de aanroepende gebruiker.
public:
static bool TryOpenExisting(System::String ^ name, System::Threading::NamedWaitHandleOptions options, [Runtime::InteropServices::Out] System::Threading::EventWaitHandle ^ % result);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static bool TryOpenExisting(string name, System.Threading.NamedWaitHandleOptions options, out System.Threading.EventWaitHandle? result);
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member TryOpenExisting : string * System.Threading.NamedWaitHandleOptions * EventWaitHandle -> bool
Public Shared Function TryOpenExisting (name As String, options As NamedWaitHandleOptions, ByRef result As EventWaitHandle) As Boolean
Parameters
- name
- String
De naam van het synchronisatieobject dat moet worden geopend en gedeeld met andere processen. De naam is hoofdlettergevoelig.
- options
- NamedWaitHandleOptions
De bereikopties voor de benoemde ingang. De standaardinstelling is alleen toegankelijk voor de huidige gebruiker en de huidige sessie. De opgegeven opties kunnen van invloed zijn op de naamruimte voor de naam en toegang tot het onderliggende ingangsobject.
- result
- EventWaitHandle
Wanneer deze methode wordt geretourneerd, bevat u een EventWaitHandle object dat de benoemde synchronisatiegebeurtenis vertegenwoordigt als de aanroep is geslaagd of null als de aanroep is mislukt. Deze parameter wordt behandeld als niet-geïnitialiseerd.
Retouren
true als de benoemde synchronisatiegebeurtenis is geopend; anders, false. In sommige gevallen false kan worden geretourneerd voor ongeldige namen.
- Kenmerken
Uitzonderingen
name is een lege tekenreeks.
name is null.
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. Voor sommige ongeldige namen kan de methode in plaats daarvan worden geretourneerd false .
– of –
Er is een andere fout opgetreden. De HResult eigenschap biedt mogelijk meer informatie.
Het name is te lang. Lengtebeperkingen kunnen afhankelijk zijn van het besturingssysteem of de configuratie.
De benoemde gebeurtenis bestaat, maar de gebruiker heeft niet de gewenste beveiligingstoegang.
Opmerkingen
Als er een synchronisatieobject van het aangevraagde type bestaat in de naamruimte, wordt het bestaande synchronisatieobject geopend. Als options echter de toegang is beperkt tot de huidige gebruiker en het synchronisatieobject niet compatibel is, false wordt geretourneerd. Als er geen synchronisatieobject in de naamruimte bestaat of als er een synchronisatieobject van een ander type bestaat in de naamruimte, false wordt ook geretourneerd.
Als u de systeemgebeurtenis wilt maken wanneer deze nog niet bestaat, gebruikt u een van de EventWaitHandle constructors met een name parameter.
Als u niet zeker weet of er een benoemde synchronisatie-gebeurtenis bestaat, gebruikt u deze methode overbelast in plaats van de overbelasting van de OpenExisting(String) methode, wat een uitzondering genereert als de synchronisatie-gebeurtenis niet bestaat.
Meerdere aanroepen naar deze methode die dezelfde waarde gebruiken, name retourneren niet noodzakelijkerwijs hetzelfde EventWaitHandle object, ook al vertegenwoordigen de objecten die worden geretourneerd dezelfde benoemde systeemgebeurtenis.