Cr�e ou ouvre un objet Mutex nomm� ou non
#include <WinAPIProc.au3>
_WinAPI_CreateMutex ( $sMutex [, $bInitial = True [, $tSecurity = 0]] )
$sMutex | Le nom de l'objet Mutex. La comparaison des noms est sensible � la casse. |
$bInitial | [optionnel] Sp�cifie si le processus appelant obtient la possession initiale de l'objet Mutex, les valeurs valides sont: True - Le thread appelant obtient la possession initiale de l'objet Mutex (par d�faut). False - Le thread appelant n'obtient pas la propri�t� de l'objet mutex. |
$tSecurity | [optionnel] La structure $tagSECURITY_ATTRIBUTES qui sp�cifie un descripteur de s�curit� pour le nouveau mutex. Si ce param�tre est 0 (par d�faut), le mutex obtient un descripteur de s�curit� par d�faut. |
Succ�s: | Retourne le handle de l'objet mutex nouvellement cr��. |
�chec: | Retourne 0, appelez _WinAPI_GetLastError() pour obtenir des informations suppl�mentaires sur l'erreur. |
Si le mutex est un mutex nomm� et si l'objet existait avant cet appel de fonction, la valeur de retour est le handle de l'objet existant, _WinAPI_GetLastError() retourne ERROR_ALREADY_EXISTS (183), $bInitial est ignor�, et le thread appelant se voit refuser la propri�t�.
Cependant, si l'appelant a des droits d'acc�s limit�s, la fonction �choue avec ERROR_ACCESS_DENIED (5) et l'appelant doit utiliser la fonction _WinAPI_OpenMutex().
Tout processus peut sp�cifier le handle de l'objet mutex dans un appel � l'une des fonctions wait.
Les fonctions wait, fonctions d'attente d'un objet unique, retourne lorsque l'�tat de l'objet sp�cifi� est signal�.
Les fonctions d'attente de multiples objets peuvent �tre invit�s � retourner lorsque l'un ou tous les objets sp�cifi�s sont signal�s.
Quand une fonction d'attente retourne, le thread en attente est lib�r� pour continuer son ex�cution.
Deux ou plusieurs processus peuvent appeler _WinAPI_CreateMutex() pour cr�er le m�me mutex nomm�.
Le premier processus cr�e r�ellement le mutex, et les processus ult�rieurs, avec des droits d'acc�s suffisants, ouvrent le handle du mutex existant.
Cela permet de multiples processus d'obtenir des handles du m�me mutex, tout en soulageant l'utilisateur de la responsabilit� de s'assurer que le processus de cr�ation est lanc� en premier.
Lorsque vous utilisez cette technique, vous devez d�finir le param�tre $bInitial � False; sinon, il peut �tre difficile d'�tre certain quel est le processus qui a la propri�t� initiale.
Utilisez la fonction _WinAPI_CloseHandle() pour fermer le handle.
Le syst�me ferme le handle automatiquement lorsque le processus se termine.
L'objet mutex est d�truit lorsque son dernier handle a �t� ferm�.
_WinAPI_CloseHandle, _WinAPI_OpenMutex
Consultez CreateMutex dans la librairie MSDN.