DosQueryMutexSem |
DOS : Requête de sémaphore Mutex |
---|---|
DOSCALLS.DLL | os2.h |
Syntaxe
APIRET DosQueryMutexSem( HMTX hmtxSemaphore, PPID ppidSemaphoreOwner, PTID ptidSemaphoreOwner, PUL pulRequestCount ); |
Paramètres
Nom | Description |
---|---|
hmtxSemaphore | Ce paramètre permet d'indiquer le Handle (HMTX) d'une sémaphore d'une requête. |
ppidSemaphoreOwner | Ce paramètre permet d'indiquer un pointeur vers un identificateur de processus (PID) demandant l'identificateur d'un propriétaire de sémaphore. |
ptidSemaphoreOwner | Ce paramètre permet d'indiquer un pointeur vers un identificateur de processus de structure (TID) demandant l'identificateur d'un propriétaire de sémaphore courante. |
pulRequestCount | Ce paramètre permet d'indiquer un demande de requête de compteur de requête de sémaphore Mutex. |
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. |
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é. |
Description
Cette fonction permet de retourner l'identificateur de processus, l'identificateur de processus léger et un compteur de requête d'un propriétaire de sémaphore mutex référé par hmtxSemaphore.
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) {
- HMTX hmtxMySemaphore;
- PID pidSemaphoreOwner;
- TID tidSemaphoreOwner;
- ULONG ulRequestCount;
- switch(DosQueryMutexSem(hmtxMySemaphore, &pidSemaphoreOwner, &tidSemaphoreOwner, &ulRequestCount)) {
- 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_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;
- }
- }
Voir également
Langage de programmation - C pour OS/2 - DosCloseMutexSem
Langage de programmation - C pour OS/2 - DosCreateMutexSem
Langage de programmation - C pour OS/2 - DosOpenMutexSem
Langage de programmation - C pour OS/2 - DosReleaseMutexSem
Langage de programmation - C pour OS/2 - DosRequestMutexSem
Technologie - Informatique - Mutex
Système d'exploitation - OS/2 - Introduction
Dernière mise à jour : Lundi, le 19 juillet 2010