Windows Win32Sincronizaçãokernel32.dll
CreateSemaphoreW
Cria (ou abre, se nomeado) um objeto semáforo do kernel, com contador e limite máximo.
Descrição
Equivalente funcional aproximado do semáforo POSIX/System V do Linux, mas como objeto do kernel Windows com HANDLE.
Header:
synchapi.hDLL: kernel32.dllNative API: NtCreateSemaphoreAssinatura
HANDLE CreateSemaphoreW(
LPSECURITY_ATTRIBUTES lpSemaphoreAttributes,
LONG lInitialCount,
LONG lMaximumCount,
LPCWSTR lpName
);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| lpSemaphoreAttributes | LPSECURITY_ATTRIBUTES | Atributos de segurança, ou NULL. |
| lInitialCount | LONG | Contador inicial. |
| lMaximumCount | LONG | Contador máximo permitido. |
| lpName | LPCWSTR | Nome opcional, para compartilhamento entre processos. |
Valor de retorno
Um handle para o semáforo 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_TOO_MANY_POSTS(298)
- Excesso de operações de liberação (release) em um semáforo, ultrapassando seu máximo.
Relacionadas
Equivalente em Linux x86_64