Windows Win32Sincronizaçãokernel32.dll
CreateMutexW
Cria (ou abre, se nomeado) um objeto mutex do kernel.
Descrição
Diferente de um pthread_mutex_t (que vive inteiramente em espaço de usuário no caso comum sem contenção no Linux), um mutex do Win32 é sempre um objeto do kernel com um HANDLE — mais pesado, mas utilizável entre processos diferentes se nomeado.
Header:
synchapi.hDLL: kernel32.dllNative API: NtCreateMutantAssinatura
HANDLE CreateMutexW(
LPSECURITY_ATTRIBUTES lpMutexAttributes,
BOOL bInitialOwner,
LPCWSTR lpName
);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| lpMutexAttributes | LPSECURITY_ATTRIBUTES | Atributos de segurança, ou NULL. |
| bInitialOwner | BOOL | Se TRUE, o chamador já é dono do mutex ao criá-lo. |
| lpName | LPCWSTR | Nome opcional, para compartilhamento entre processos. |
Valor de retorno
Um handle para o mutex em sucesso; NULL em erro (consulte GetLastError).
Códigos de erro (GetLastError)
- ERROR_ALREADY_EXISTS(183)
- Não é possível criar um arquivo já existente.
- ERROR_ACCESS_DENIED(5)
- Acesso negado.