DosOpenEventSem |
DOS : Ouvre un événement de sémaphore |
---|---|
DOSCALLS.DLL | os2.h |
Syntaxe
APIRET APIENTRY DosOpenEventSem(PSZ name,PHEV handle); |
Paramètres
Nom | Description |
---|---|
name | Ce paramètre permet d'indiquer un pointeur vers une chaîne de caractères ASCIZ contenant le nom d'une sémaphore donnant l'accès. |
handle | Ce paramètre permet d'indiquer un pointeur vers un HEV contenu dans un Handle de sémaphore ouvert. |
Retour
Valeur | Constante | Description |
---|---|---|
0 | NO_ERROR | Cette valeur permet d'indiquer que l'opération s'est correctement effectué |
6 | ERROR_INVALID_HANDLE | Cette valeur permet d'indiquer que la valeur du hmuxSemaphore ne point pas sur un sémaphore valide. |
8 | ERROR_NOT_ENOUGH_MEMORY | Cette valeur permet d'indiquer que la limite de mémoire système est atteinte. |
87 | ERROR_INVALID_PARAMETER | Cette valeur permet d'indiquer qu'un ou plusieurs des paramètres contient une valeur illégale. |
123 | ERROR_INVALID_NAME | Cette valeur permet d'indiquer que le nom pszSemaphoreName est rejeté par un fichier système. |
187 | ERROR_SEM_NOT_FOUND | Cette valeur permet d'indiquer qu'il n'y a pas de sémaphore avec le nom dans pszSemaphoreName. |
291 | ERROR_TOO_MANY_OPENS | Cette valeur permet d'indiquer que l'utilisation d'un compteur pour la sémaphore en question excède la limite système de 65535. |
Description
Cette fonction permet d'ouvrir un événement de sémaphore.
Exemple
Voici un simple exemple montrant comme appeler cette API avec WatCom C++ for OS/2 :
- #define INCL_DOSERRORS
- #define INCL_DOSSEMAPHORES
- #include "os2.h"
- #include "stdio.h"
-
- void main(void) {
- PHEV phevMySemaphore = NULL;
- switch(DosOpenEventSem("\\SEM32\\MonSem", phevMySemaphore)) {
- case NO_ERROR: printf("Tout va bien !");break;
- case ERROR_INVALID_HANDLE: printf("Erreur : La valeur du hmuxSemaphore ne point pas sur un sémaphore valide.");break;
- case ERROR_NOT_ENOUGH_MEMORY: printf("Erreur : La limite de mémoire système est atteinte.");break;
- case ERROR_INVALID_PARAMETER: printf("Erreur : Un ou plusieurs des paramètres contient une valeur illégale.");break;
- case ERROR_INVALID_NAME: printf("Erreur : Le nom pszSemaphoreName est rejeté par un fichier système.");break;
- case ERROR_SEM_NOT_FOUND: printf("Erreur : Il n'y a pas de sémaphore avec le nom dans pszSemaphoreName.");break;
- case ERROR_TOO_MANY_OPENS: printf("Erreur : Utilisation d'un compteur pour la sémaphore en question excède la limite système de 65535.");break;
- }
- }
Voir également
Langage de programmation - C pour OS/2 - DosCloseEventSem
Langage de programmation - C pour OS/2 - DosCreateEventSem
Langage de programmation - C pour OS/2 - DosPostEventSem
Langage de programmation - C pour OS/2 - DosQueryEventSem
Langage de programmation - C pour OS/2 - DosResetEventSem
Langage de programmation - C pour OS/2 - DosWaitEventSem
Système d'exploitation - OS/2 - Introduction
Dernière mise à jour : Lundi, le 19 juillet 2010