Compartilhar via


PINIT_ONCE_FN função de retorno de chamada (synchapi.h)

Uma função de retorno de chamada definida pelo aplicativo. Especifique um ponteiro para essa função ao chamar a função InitOnceExecuteOnce . O tipo PINIT_ONCE_FN define um ponteiro para essa função de retorno de chamada. InitOnceCallback é um espaço reservado para o nome da função definida pelo aplicativo.

Sintaxe

PINIT_ONCE_FN PinitOnceFn;

BOOL PinitOnceFn(
  [in, out]           PINIT_ONCE InitOnce,
  [in, out, optional] PVOID Parameter,
  [out, optional]     PVOID *Context
)
{...}

Parâmetros

[in, out] InitOnce

Um ponteiro para a estrutura de inicialização única.

[in, out, optional] Parameter

Um parâmetro opcional que foi passado para a função de retorno de chamada.

[out, optional] Context

Os dados a serem armazenados com a estrutura de inicialização única. Se Context fizer referência a um valor, a INIT_ONCE_CTX_RESERVED_BITS de ordem baixa do valor deverá ser zero. Se Context apontar para uma estrutura de dados, a estrutura de dados deverá ser alinhada a DWORD. O contexto não deve ser um ponteiro de código no Arm32, pois os ponteiros de código Arm32 sempre têm o bit menos significativo definido, consulte a ABI arm32 para obter detalhes.

Retornar valor

Se a função retornar TRUE, o bloco será marcado como inicializado.

Se a função retornar FALSE, o bloco não será marcado como inicializado e a chamada para InitOnceExecuteOnce falhará. Para comunicar informações de erro adicionais, chame SetLastError antes de retornar FALSE.

Comentários

Essa função pode criar um objeto de sincronização e retorná-lo no parâmetro lpContext .

Para compilar um aplicativo que usa essa função, defina _WIN32_WINNT como 0x0600 ou posterior. Para obter mais informações, consulte Usando os cabeçalhos do Windows.

Exemplos

Para obter um exemplo que usa essa função, consulte Usando One-Time Inicialização.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho synchapi.h (inclua Windows.h)

Confira também

InitOnceExecuteOnce

InitOnceInitialize

Funções de sincronização