Voltar à lista
Windows Win32Sincronizaçãokernel32.dll

InitOnceExecuteOnce

Garante que uma função de inicialização execute exatamente uma vez, de forma thread-safe, mesmo sob chamadas concorrentes.

Descrição

Análogo funcional a `pthread_once(3)` do Linux.

Header: synchapi.hDLL: kernel32.dll

Assinatura

BOOL InitOnceExecuteOnce(
    PINIT_ONCE InitOnce,
    PINIT_ONCE_FN InitFn,
    PVOID Parameter,
    LPVOID * Context
);

Parâmetros

ParâmetroTipoDescrição
InitOncePINIT_ONCEEstrutura de controle de inicialização única.
InitFnPINIT_ONCE_FNFunção a executar uma única vez.
ParameterPVOIDArgumento passado à função de inicialização.
ContextLPVOID *Recebe um contexto de saída opcional da inicialização.

Valor de retorno

Diferente de zero em sucesso; 0 em erro (consulte GetLastError).

Códigos de erro (GetLastError)

ERROR_INVALID_PARAMETER(87)
Parâmetro incorreto.

Relacionadas