Condividi tramite


CMutex::CMutex

Costruisce un oggetto denominato o senza nome CMutex.

CMutex(
   BOOL bInitiallyOwn = FALSE,
   LPCTSTR lpszName = NULL,
   LPSECURITY_ATTRIBUTES lpsaAttribute = NULL 
);

Parametri

  • bInitiallyOwn
    Specifica se il thread che crea l'oggetto CMutex inizialmente ha accesso alla risorsa controllata dal mutex.

  • lpszName
    Nome dell'oggetto CMutex.Se un'altra esclusione reciproca con lo stesso nome esiste, lpszName deve essere fornito se l'oggetto verrà utilizzato oltre i limiti dei processi.Se NULL, il mutex verrà senza nome.Se il nome corrisponde a un mutex esistente, il costruttore compila un nuovo oggetto CMutex che fa riferimento al mutex con tale nome.Se il nome corrisponde a un oggetto di sincronizzazione esistente non incluso il mutex, la costruzione non riuscirà.

  • lpsaAttribute
    Attributi di sicurezza dell'oggetto mutex.Per una descrizione completa della struttura, vedere SECURITY_ATTRIBUTES in Windows SDK.

Note

Per accedere a o eliminare un oggetto CMutex, creare un oggetto CSingleLock o CMultiLock e chiamare i blocco funzioni membro e Sblocca.Se l'oggetto CMutex è autonomo utilizzato, chiamare la funzione membro Unlock per rilasciarlo.

Nota sulla sicurezzaNota sulla sicurezza

Dopo aver creato l'oggetto CMutex, 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

Vedere anche

Riferimenti

Classe di CMutex

Grafico della gerarchia