EventWaitHandle.TryOpenExisting Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Ouvre un événement de synchronisation nommé spécifié, s’il existe déjà, et retourne une valeur qui indique si l’opération a réussi.
Surcharges
| Nom | Description |
|---|---|
| TryOpenExisting(String, EventWaitHandle) |
Ouvre l’événement de synchronisation nommé spécifié, s’il existe déjà, et retourne une valeur qui indique si l’opération a réussi. |
| TryOpenExisting(String, EventWaitHandleRights, EventWaitHandle) |
Ouvre l’événement de synchronisation nommé spécifié, s’il existe déjà, avec l’accès de sécurité souhaité et retourne une valeur qui indique si l’opération a réussi. |
| TryOpenExisting(String, NamedWaitHandleOptions, EventWaitHandle) |
Ouvre l’événement de synchronisation nommé spécifié, s’il existe déjà, et retourne une valeur qui indique si l’opération a réussi. Si les options sont définies sur l’utilisateur actuel uniquement, les contrôles d’accès de l’objet sont vérifiés pour l’utilisateur appelant. |
TryOpenExisting(String, EventWaitHandle)
- Source:
- EventWaitHandle.cs
- Source:
- EventWaitHandle.cs
- Source:
- EventWaitHandle.cs
- Source:
- EventWaitHandle.cs
- Source:
- EventWaitHandle.cs
Ouvre l’événement de synchronisation nommé spécifié, s’il existe déjà, et retourne une valeur qui indique si l’opération a réussi.
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
Paramètres
- name
- String
Nom de l’objet de synchronisation à ouvrir et à partager avec d’autres processus. Le nom est sensible à la casse. Le caractère de barre oblique inverse (\) est réservé et ne peut être utilisé que pour spécifier un espace de noms. Pour plus d’informations sur les espaces de noms, consultez la section remarques. Il peut y avoir d’autres restrictions sur le nom en fonction du système d’exploitation. Par exemple, sur les systèmes d’exploitation Unix, le nom après l’exclusion de l’espace de noms doit être un nom de fichier valide.
- result
- EventWaitHandle
Lorsque cette méthode est retournée, contient un EventWaitHandle objet qui représente l’événement de synchronisation nommé si l’appel a réussi ou null si l’appel a échoué. Ce paramètre est traité comme non initialisé.
Retours
true si l’événement de synchronisation nommé a été ouvert avec succès ; sinon, false. Dans certains cas, false peut être retourné pour les noms non valides.
- Attributs
Exceptions
name est une chaîne vide.
- ou -
.NET Framework uniquement : name est plus long que MAX_PATH (260 caractères).
name a la valeur null.
name n’est pas valide. Cela peut être pour diverses raisons, notamment certaines restrictions qui peuvent être placées par le système d’exploitation, telles qu’un préfixe inconnu ou des caractères non valides. Notez que le nom et les préfixes communs « Global\ » et « Local\ » respectent la casse. Pour certains noms non valides, la méthode peut retourner false à la place.
- ou -
Il y a eu une autre erreur. La HResult propriété peut fournir plus d’informations.
name est trop long. Les restrictions de longueur peuvent dépendre du système d’exploitation ou de la configuration.
L’événement nommé existe, mais l’utilisateur n’a pas l’accès de sécurité souhaité.
Remarques
Il name peut être préfixé Global\ ou Local\ spécifier un espace de noms. Lorsque l’espace Global de noms est spécifié, l’objet de synchronisation peut être partagé avec n’importe quel processus sur le système. Lorsque l’espace Local de noms est spécifié, qui est également la valeur par défaut lorsqu’aucun espace de noms n’est spécifié, l’objet de synchronisation peut être partagé avec des processus dans la même session. Sur Windows, une session est une session de connexion, et les services s’exécutent généralement dans une autre session non interactive. Sur les systèmes d’exploitation de type Unix, chaque interpréteur de commandes a sa propre session. Les objets de synchronisation locale de session peuvent être appropriés pour la synchronisation entre les processus avec une relation parent/enfant où ils s’exécutent tous dans la même session. Pour plus d’informations sur les noms d’objets de synchronisation sur Windows, consultez Object Names.
Si un objet de synchronisation du type demandé existe dans l’espace de noms, l’objet de synchronisation existant est ouvert. Si un objet de synchronisation n’existe pas dans l’espace de noms, ou si un objet de synchronisation d’un type différent existe dans l’espace de noms, false est retourné.
Pour créer l’événement système lorsqu’il n’existe pas déjà, utilisez l’un EventWaitHandle des constructeurs qui ont un name paramètre.
Si vous ne savez pas si un événement de synchronisation nommé existe, utilisez cette surcharge de méthode au lieu de la OpenExisting(String) surcharge de méthode, ce qui lève une exception si l’événement de synchronisation n’existe pas.
Cette surcharge de méthode est équivalente à l’appel de la TryOpenExisting(String, EventWaitHandleRights, EventWaitHandle) surcharge de méthode et à la spécification et EventWaitHandleRights.Synchronize aux EventWaitHandleRights.Modify droits, combinés à l’aide de l’opération OR au niveau du bit. La spécification de l’indicateur EventWaitHandleRights.Synchronize permet à un thread d’attendre sur l’événement système nommé et de spécifier l’indicateur EventWaitHandleRights.Modify permet à un thread d’appeler les méthodes et Set les Reset méthodes.
Plusieurs appels à cette méthode qui utilisent la même valeur pour name ne pas nécessairement retourner le même EventWaitHandle objet, même si les objets retournés représentent le même événement système nommé.
S’applique à
TryOpenExisting(String, EventWaitHandleRights, EventWaitHandle)
Ouvre l’événement de synchronisation nommé spécifié, s’il existe déjà, avec l’accès de sécurité souhaité et retourne une valeur qui indique si l’opération a réussi.
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
Paramètres
- name
- String
Nom de l’objet de synchronisation à ouvrir et à partager avec d’autres processus. Le nom est sensible à la casse. Le caractère de barre oblique inverse (\) est réservé et ne peut être utilisé que pour spécifier un espace de noms. Pour plus d’informations sur les espaces de noms, consultez la section remarques. Il peut y avoir d’autres restrictions sur le nom en fonction du système d’exploitation. Par exemple, sur les systèmes d’exploitation Unix, le nom après l’exclusion de l’espace de noms doit être un nom de fichier valide.
- rights
- EventWaitHandleRights
Combinaison au niveau du bit des valeurs d’énumération qui représentent l’accès de sécurité souhaité.
- result
- EventWaitHandle
Lorsque cette méthode est retournée, contient un EventWaitHandle objet qui représente l’événement de synchronisation nommé si l’appel a réussi ou null si l’appel a échoué. Ce paramètre est traité comme non initialisé.
Retours
true si l’événement de synchronisation nommé a été ouvert avec succès ; sinon, false. Dans certains cas, false peut être retourné pour les noms non valides.
- Attributs
Exceptions
name est une chaîne vide.
- ou -
.NET Framework uniquement : name est plus long que MAX_PATH (260 caractères).
name a la valeur null.
name n’est pas valide. Cela peut être pour diverses raisons, notamment certaines restrictions qui peuvent être placées par le système d’exploitation, telles qu’un préfixe inconnu ou des caractères non valides. Notez que le nom et les préfixes communs « Global\ » et « Local\ » respectent la casse. Pour certains noms non valides, la méthode peut retourner false à la place.
- ou -
Il y a eu une autre erreur. La HResult propriété peut fournir plus d’informations.
name est trop long. Les restrictions de longueur peuvent dépendre du système d’exploitation ou de la configuration.
L’événement nommé existe, mais l’utilisateur n’a pas l’accès de sécurité souhaité.
Remarques
Il name peut être préfixé Global\ ou Local\ spécifier un espace de noms. Lorsque l’espace Global de noms est spécifié, l’objet de synchronisation peut être partagé avec n’importe quel processus sur le système. Lorsque l’espace Local de noms est spécifié, qui est également la valeur par défaut lorsqu’aucun espace de noms n’est spécifié, l’objet de synchronisation peut être partagé avec des processus dans la même session. Sur Windows, une session est une session de connexion, et les services s’exécutent généralement dans une autre session non interactive. Sur les systèmes d’exploitation de type Unix, chaque interpréteur de commandes a sa propre session. Les objets de synchronisation locale de session peuvent être appropriés pour la synchronisation entre les processus avec une relation parent/enfant où ils s’exécutent tous dans la même session. Pour plus d’informations sur les noms d’objets de synchronisation sur Windows, consultez Object Names.
Si un objet de synchronisation du type demandé existe dans l’espace de noms, l’objet de synchronisation existant est ouvert. Si un objet de synchronisation n’existe pas dans l’espace de noms, ou si un objet de synchronisation d’un type différent existe dans l’espace de noms, false est retourné.
Pour créer l’événement système lorsqu’il n’existe pas déjà, utilisez l’un EventWaitHandle des constructeurs qui ont un name paramètre.
Si vous ne savez pas si un événement de synchronisation nommé existe, utilisez cette surcharge de méthode au lieu de la OpenExisting(String, EventWaitHandleRights) surcharge de méthode, ce qui lève une exception si l’événement de synchronisation n’existe pas.
Le rights paramètre doit inclure l’indicateur EventWaitHandleRights.Synchronize pour autoriser les threads à attendre sur l’événement et l’indicateur EventWaitHandleRights.Modify pour autoriser les threads à appeler et SetReset les méthodes.
Plusieurs appels à cette méthode qui utilisent la même valeur pour name ne pas nécessairement retourner le même EventWaitHandle objet, même si les objets retournés représentent le même événement système nommé.
S’applique à
TryOpenExisting(String, NamedWaitHandleOptions, EventWaitHandle)
- Source:
- EventWaitHandle.cs
- Source:
- EventWaitHandle.cs
Ouvre l’événement de synchronisation nommé spécifié, s’il existe déjà, et retourne une valeur qui indique si l’opération a réussi. Si les options sont définies sur l’utilisateur actuel uniquement, les contrôles d’accès de l’objet sont vérifiés pour l’utilisateur appelant.
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
Paramètres
- name
- String
Nom de l’objet de synchronisation à ouvrir et à partager avec d’autres processus. Le nom est sensible à la casse.
- options
- NamedWaitHandleOptions
Options d’étendue pour le handle nommé. Par défaut, l’accès est limité à l’utilisateur actuel et à la session active uniquement. Les options spécifiées peuvent affecter l’espace de noms pour le nom et l’accès à l’objet de handle sous-jacent.
- result
- EventWaitHandle
Lorsque cette méthode est retournée, contient un EventWaitHandle objet qui représente l’événement de synchronisation nommé si l’appel a réussi ou null si l’appel a échoué. Ce paramètre est traité comme non initialisé.
Retours
true si l’événement de synchronisation nommé a été ouvert avec succès ; sinon, false. Dans certains cas, false peut être retourné pour les noms non valides.
- Attributs
Exceptions
name est une chaîne vide.
name a la valeur null.
name n’est pas valide. Cela peut être pour diverses raisons, notamment certaines restrictions qui peuvent être placées par le système d’exploitation, telles qu’un préfixe inconnu ou des caractères non valides. Notez que le nom et les préfixes communs « Global\ » et « Local\ » respectent la casse. Pour certains noms non valides, la méthode peut retourner false à la place.
- ou -
Il y a eu une autre erreur. La HResult propriété peut fournir plus d’informations.
name est trop long. Les restrictions de longueur peuvent dépendre du système d’exploitation ou de la configuration.
L’événement nommé existe, mais l’utilisateur n’a pas l’accès de sécurité souhaité.
Remarques
Si un objet de synchronisation du type demandé existe dans l’espace de noms, l’objet de synchronisation existant est ouvert. Toutefois, si options l’accès est limité à l’utilisateur actuel et que l’objet de synchronisation n’est pas compatible avec celui-ci, false est retourné. Si un objet de synchronisation n’existe pas dans l’espace de noms, ou si un objet de synchronisation d’un type différent existe dans l’espace de noms, false est également retourné.
Pour créer l’événement système lorsqu’il n’existe pas déjà, utilisez l’un EventWaitHandle des constructeurs qui ont un name paramètre.
Si vous ne savez pas si un événement de synchronisation nommé existe, utilisez cette surcharge de méthode au lieu de la OpenExisting(String) surcharge de méthode, ce qui lève une exception si l’événement de synchronisation n’existe pas.
Plusieurs appels à cette méthode qui utilisent la même valeur pour name ne pas nécessairement retourner le même EventWaitHandle objet, même si les objets retournés représentent le même événement système nommé.