Share via


OpenEventA, fonction (synchapi.h)

Ouvre un objet d’événement nommé existant.

Syntaxe

HANDLE OpenEventA(
  [in] DWORD  dwDesiredAccess,
  [in] BOOL   bInheritHandle,
  [in] LPCSTR lpName
);

Paramètres

[in] dwDesiredAccess

Accès à l’objet d’événement. La fonction échoue si le descripteur de sécurité de l’objet spécifié n’autorise pas l’accès demandé pour le processus appelant. Pour obtenir la liste des droits d’accès, consultez Synchronization Object Security and Access Rights.

[in] bInheritHandle

Si cette valeur est TRUE, les processus créés par ce processus héritent du handle. Sinon, les processus n’héritent pas de ce handle.

[in] lpName

Nom de l’événement à ouvrir. Les comparaisons de noms respectent la casse.

Cette fonction peut ouvrir des objets dans un espace de noms privé. Pour plus d’informations, consultez Espaces de noms d’objets.

Terminal Services : Le nom peut avoir un préfixe « Global » ou « Local » pour ouvrir explicitement un objet dans l’espace de noms global ou de session. Le reste du nom peut contenir n’importe quel caractère à l’exception de la barre oblique inverse (\). Pour plus d’informations, consultez Espaces de noms d’objets du noyau.

Note La commutation rapide des utilisateurs est implémentée à l’aide de sessions Terminal Services. Le premier utilisateur à se connecter utilise la session 0, l’utilisateur suivant pour se connecter utilise la session 1, et ainsi de suite. Les noms d’objets de noyau doivent suivre les instructions décrites pour Terminal Services afin que les applications puissent prendre en charge plusieurs utilisateurs.

Valeur retournée

Si la fonction réussit, la valeur de retour est un handle pour l’objet d’événement.

Si la fonction échoue, la valeur de retour est NULL. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Remarques

La fonction OpenEvent permet à plusieurs processus d’ouvrir des handles du même objet d’événement. La fonction réussit uniquement si un processus a déjà créé l’événement à l’aide de la fonction CreateEvent . Le processus appelant peut utiliser le handle retourné dans toute fonction qui nécessite un handle pour un objet d’événement, sous réserve des limitations de l’accès spécifié dans le paramètre dwDesiredAccess .

Le handle peut être dupliqué à l’aide de la fonction DuplicateHandle . Utilisez la fonction CloseHandle pour fermer le handle. Le système ferme automatiquement le handle à l’arrêt du processus. L’objet d’événement est détruit lorsque son dernier handle a été fermé.

Notes

L’en-tête synchapi.h définit OpenEvent en tant qu’alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. La combinaison de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau | applications UWP]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau | applications UWP]
Plateforme cible Windows
En-tête synchapi.h (inclure Windows.h sur Windows Server 2003, Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
Bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

CloseHandle

CreateEvent

CreateProcess

DuplicateHandle

Objets d’événement

Noms d’objets

PulseEvent

ResetEvent

SetEvent

Fonctions de synchronisation