Compartilhar via


CMutex::CMutex

Constrói um objeto chamado ou sem nome de CMutex .

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

Parâmetros

  • bInitiallyOwn
    Especifica se o segmento que cria o objeto de CMutex inicialmente tem acesso ao recurso controlado pelo mutex.

  • lpszName
    Nome do objeto de CMutex .Se outro mutex com o mesmo nome existe, lpszName deve ser fornecido se o objeto será usado fora dos limites de processo.Se NULO, o mutex será sem nome.Se o nome corresponde a um mutex existente, o construtor cria um novo objeto de CMutex que referencia o mutex de aquele nome.Se o nome corresponde a um objeto existente de sincronização que não é um mutex, a compilação falhará.

  • lpsaAttribute
    Atributos de segurança para o objeto mutex.Para obter uma descrição completa de essa estrutura, consulte SECURITY_ATTRIBUTES em Windows SDK.

Comentários

Para acessar ou liberar um objeto de CMutex , crie um objeto de CMultiLock ou de CSingleLock e chamar as funções de membro de Bloquear e de desbloquear .Se o objeto de CMutex está sendo usado autônomo, chame a função de membro de Unlock para liberar-la.

Observação de segurançaObservação de segurança

Após criar o objeto de CMutex , use GetLastError garantir que o mutex já não existe.Se o mutex existiu inesperadamente, pode indicar que um processo desonesto squatting e pretender pode usar maliciosa o mutex.Em esse caso, o procedimento de segurança consciente recomendado é feche o identificador e continuar como se houver uma falha na criação do objeto.

Requisitos

Cabeçalho: afxmt.h

Consulte também

Referência

Classe de CMutex

Gráfico de hierarquia