CSemaphore::CSemaphore
Costruisce un oggetto denominato o senza nome CSemaphore.
CSemaphore(
LONG lInitialCount = 1,
LONG lMaxCount = 1,
LPCTSTR pstrName = NULL,
LPSECURITY_ATTRIBUTES lpsaAttributes = NULL
);
Parametri
lInitialCount
Il numero iniziale di utilizzo per il semaforo.Deve essere maggiore o uguale a 0 e minore o uguale a lMaxCount.lMaxCount
Il conteggio massimo di utilizzo per il semaforo.Deve essere maggiore di 0.pstrName
Il nome del semaforo.Deve essere fornito se il semaforo avviene attraverso i limiti dei processi.Se NULL, l'oggetto verrà senza nome.Se il nome corrisponde a un semaforo esistente, il costruttore compila un nuovo oggetto CSemaphore che fa riferimento al semaforo con tale nome.Se il nome corrisponde a un oggetto di sincronizzazione esistente non incluso un semaforo, la costruzione non riuscirà.lpsaAttributes
Attributi di sicurezza per l'oggetto semaforo.Per una descrizione completa della struttura, vedere SECURITY_ATTRIBUTES in Windows SDK.
Note
Per accedere a o eliminare un oggetto CSemaphore, creare un oggetto CSingleLock o CMultiLock e chiamare i blocco funzioni membro e Sblocca.
Nota sulla sicurezza |
---|
Dopo aver creato l'oggetto CSemaphore, utilizzare GetLastError assicurarsi che il mutex non sono già presenti.Se il mutex esistessero in modo imprevisto, possono indicare che tolga le erbacce dal processo sta occupando e può si intendeva utilizzare intenzionalmente il mutex.In questo caso, la routine sicurezza consapevole consigliata consiste nel chiudere l'handle e di continuare come se si trattasse di un errore nel creare l'oggetto. |
Requisiti
Header: afxmt.h