DosQueryMuxWaitSem |
DOS : Requête de sémaphore MuxWait |
---|---|
DOSCALLS.DLL | os2.h |
Syntaxe
APIRET DosQueryMuxWaitSem( HMUX hmuxSemaphore, PULONG pulSemaphoreRecords, PSEMRECORD pSemaphoreRecord , PULONG pflAttributes ); |
Paramètres
Nom | Description | ||
---|---|---|---|
hmuxSemaphore | Ce paramètre permet d'indiquer le Handle de la sémaphore MuxWait d'une requête. | ||
pulSemaphoreRecords | Ce paramètre permet d'indiquer le nombre de SEMRECORD. | ||
pSemaphoreRecord | Ce paramètre permet d'indiquer un pointeur vers un tampon demandant des SEMRECORD. | ||
pflAttributes | Ce paramètre permet d'indiquer les drapeaux d'attributs spécifiant quand les sémaphores sont créé : | ||
Constante | Description | ||
DC_SEM_SHARED | Cette valeur permet d'indiquer que la sémaphore est partagé. | ||
DCMW_WAIT_ANY | Cette valeur permet d'indiquer que la sémaphore est débloqué si n'importe quel sémaphore dans la liste MuxWait est posté ou relâché. | ||
DCMW_WAIT_ALL | Cette valeur permet d'indiquer que la sémaphore est débloqué seulement si toutes les sémaphores dans la liste MuxWait sont postés ou relâchés. |
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. |
105 | ERROR_SEM_OWNER_DIED | Cette valeur permet d'indiquer que le propriétaire du sémaphore MuxWait spécifié est terminé. |
289 | ERROR_PARAM_TOO_SMALL | Cette valeur permet d'indiquer que la valeur pointe sur un pulSemaphoreRecords trop petit. |
Description
Cette fonction permet de retourner les enregistrements de sémaphore d'un sémaphore MuxWait référé par hmuxSemaphore.
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) {
- HMUX hmuxMySemaphore;
- SEMRECORD SemRec;
- PULONG pflAttribs;
- switch(DosQueryMuxWaitSem( hmuxMySemaphore, 1, &SemRec, &pflAttribs )) {
- 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_SEM_OWNER_DIED: printf("Erreur : Le propriétaire du sémaphore MuxWait spécifié est terminé.");break;
- case ERROR_PARAM_TOO_SMALL: printf("Erreur : La valeur pointe sur un pulSemaphoreRecords trop petit.");break;
- }
- }
Voir également
Langage de programmation - C pour OS/2 - DosAddMuxWaitSem
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 - DosWaitMuxWaitSem
Système d'exploitation - OS/2 - Introduction
Dernière mise à jour : Lundi, le 19 juillet 2010