CSemaphore::CSemaphore
Constrói um objeto chamado ou sem nome de CSemaphore .
CSemaphore(
LONG lInitialCount = 1,
LONG lMaxCount = 1,
LPCTSTR pstrName = NULL,
LPSECURITY_ATTRIBUTES lpsaAttributes = NULL
);
Parâmetros
lInitialCount
A contagem inicial de uso para o semáforo. Deve ser maior ou igual a 0, e menor ou igual a lMaxCount.lMaxCount
O número máximo de uso para o semáforo. Deve ser maior que 0.pstrName
O nome de semáforo. Deve ser fornecido se o semáforo será acessado através dos limites de processo. Se NULL, o objeto será sem nome. Se o nome corresponde a um semáforo existente, o construtor cria um novo objeto de CSemaphore que referencia o semáforo de aquele nome. Se o nome corresponde a um objeto existente de sincronização que não é um semáforo, a compilação falhará.lpsaAttributes
Atributos de segurança para o objeto de semáforo. Para obter uma descrição completa de essa estrutura, consulte SECURITY_ATTRIBUTES em Windows SDK.
Comentários
Para acessar ou liberar um objeto de CSemaphore , crie um objeto de CMultiLock ou de CSingleLock e chamar as funções de membro de Bloquear e de desbloquear .
Observação de segurança |
---|
Após criar o objeto de CSemaphore , 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