CSemaphore::CSemaphore
Construit un objet nommé ou sans nom d' CSemaphore .
CSemaphore(
LONG lInitialCount = 1,
LONG lMaxCount = 1,
LPCTSTR pstrName = NULL,
LPSECURITY_ATTRIBUTES lpsaAttributes = NULL
);
Paramètres
lInitialCount
Nombre initial d'utilisation pour le sémaphore.Doit être supérieure ou égale à 0, et inférieur ou égal à lMaxCount.lMaxCount
Le nombre maximal d'utilisation pour le sémaphore.Doit être supérieure à 0.pstrName
Le nom de sémaphore.Doit être fourni si le sémaphore est accessible au delà de les limites du processus.Si NULL, l'objet sera sans nom.Si le nom correspond à un sémaphore existante, le constructeur crée un nouvel objet d' CSemaphore qui référence le sémaphore de ce nom.Si le nom correspond à un objet de synchronisation existant qui n'est pas un sémaphore, la construction échoue.lpsaAttributes
Attributs de sécurité pour l'objet de sémaphore.Pour une description complète de cette structure, consultez SECURITY_ATTRIBUTES dans Kit de développement logiciel Windows.
Notes
Pour accéder ou libérer à un objet d' CSemaphore , créez un objet de CMultiLock ou de CSingleLock et appelez ses fonctions membres de Verrouillage et de déverrouillez .
Note de sécurité |
---|
Après avoir créé l'objet d' CSemaphore , utilisez GetLastError de s'assurer que le mutex n'ont pas encore existé.Si le mutex existaient de façon inattendue, ils peuvent indiquer débarrassent des plants peu vigoureux le processus s'accroupissent et peuvent s'attendre à utiliser les mutex de manière malveillante.Dans ce cas, la procédure consciente de sécurité est recommandé de fermer le handle et de continuer comme s'il y avait un échec en créant l'objet. |
Configuration requise
Header: afxmt.h