Section courante

A propos

Section administrative du site

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 :

  1. #define INCL_DOSERRORS
  2. #define INCL_DOSSEMAPHORES
  3. #include "os2.h"
  4. #include "stdio.h"
  5.  
  6. void main(void) {
  7.     HMTX hmtxMySemaphore;
  8.     PID pidSemaphoreOwner;
  9.     TID tidSemaphoreOwner;
  10.     ULONG ulRequestCount; 
  11.     switch(DosQueryMutexSem(hmtxMySemaphore, &pidSemaphoreOwner, &tidSemaphoreOwner, &ulRequestCount)) {
  12.         case NO_ERROR: printf("Tout va bien !");break;
  13.         case ERROR_INVALID_HANDLE: printf("Erreur : La valeur du hmuxSemaphore ne point pas sur un sémaphore valide.");break;
  14.         case ERROR_INVALID_PARAMETER: printf("Erreur : Un ou plusieurs des paramètres contient une valeur illégale.");break;
  15.         case ERROR_SEM_OWNER_DIED: printf("Erreur : Le propriétaire du sémaphore MuxWait spécifié est terminé.");break;
  16.     }
  17. }

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