Section courante

A propos

Section administrative du site

DosAddMuxWaitSem

Ajout d'un sémaphore MuxWait
DOSCALLS.DLL os2.h

Syntaxe

APIRET DosAddMuxWaitSem( HMUX hmuxSemaphore, PSEMRECORD pSemRecord );

Paramètres

Nom Description
hmuxSemaphore Ce paramètre permet d'indiquer l'identificateur Handle de la sémaphore MuxWait à laquelle une autre sémaphore doit être ajouté.
pSemRecord Ce paramètre permet d'indiquer l'adresse d'une SEMRECORD à ajouter dans la sémaphore MuxWait spécifié.

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.
100 ERROR_TOO_MANY_SEMAPHORES Cette valeur permet d'indiquer que la limite système de 64 sémaphore est dépassé par ce sémaphore MuxWait.
105 ERROR_SEM_OWNER_DIED Cette valeur permet d'indiquer que le propriétaire du sémaphore MuxWait spécifié est terminé.
284 ERROR_DUPLICATE_HANDLE Cette valeur permet d'indiquer que la sémaphore référé par un pSemRecord est déjà ajouter à la sémaphore MuxWait.
292 ERROR_WRONG_TYPE Cette valeur permet d'indiquer que la sémaphore référé par un pSemRecord est type différent et est déjà dans la liste d'un hmuxSemaphore.

Description

Cette fonction permet d'ajouter un sémaphore d'événement ou un sémaphore mutex à une liste de sémaphore MuxWait.

Remarque

Exemple

Voici un simple exemple montrant comme appeler cette API avec WatCom C++ for OS/2 :

  1. #define INCL_DOSERRORS
  2. #define INCL_DOSSEMAPHORES
  3. #include "os2.h"
  4. #include "stdio.h"
  5.  
  6. void main(void) {
  7.     HMUX hmuxMySemaphore; 
  8.     SEMRECORD SemRec;  
  9.     switch(DosAddMuxWaitSem(hmuxMySemaphore, &SemRec)) {
  10.         case NO_ERROR: printf("Tout va bien !");break;        
  11.         case ERROR_INVALID_HANDLE: printf("Erreur : La valeur du hmuxSemaphore ne point pas sur un sémaphore valide.");
  12.         case ERROR_NOT_ENOUGH_MEMORY : printf("Erreur : La limite de mémoire système est atteinte.");
  13.         case ERROR_INVALID_PARAMETER : printf("Erreur : un ou plusieurs des paramètres contient une valeur illégale.");
  14.         case ERROR_TOO_MANY_SEMAPHORES : printf("Erreur : La limite système de 64 sémaphore est dépassé par ce sémaphore MuxWait.");
  15.         case ERROR_SEM_OWNER_DIED : printf("Erreur : Le propriétaire du sémaphore MuxWait spécifié est terminé.");
  16.         case ERROR_DUPLICATE_HANDLE : printf("Erreur : La sémaphore référé par un pSemRecord est déjà ajouter à la sémaphore MuxWait.");
  17.         case ERROR_WRONG_TYPE : printf("Erreur : La sémaphore référé par un pSemRecord est type différent et est déjà dans la liste d'un hmuxSemaphore.");
  18.     }
  19. }

Voir également

Langage de programmation - C pour OS/2 - DosCloseMuxWaitSem
Langage de programmation - C pour OS/2 - DosCreateMuxWaitSem
Langage de programmation - C pour OS/2 - DosDeleteMuxWaitSem
Langage de programmation - C pour OS/2 - DosOpenMuxWaitSem
Langage de programmation - C pour OS/2 - DosQueryMuxWaitSem
Langage de programmation - C pour OS/2 - DosWaitMuxWaitSem
Technologie - Informatique - Mutex
Système d'exploitation - OS/2 - Introduction

Dernière mise à jour : Lundi, le 19 juillet 2010