Compartilhar via


Função InitOnceInitialize (synchapi.h)

Inicializa uma estrutura de inicialização única.

Sintaxe

void InitOnceInitialize(
  [out] PINIT_ONCE InitOnce
);

Parâmetros

[out] InitOnce

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

Retornar valor

Nenhum

Comentários

A função InitOnceInitialize é usada para inicializar uma estrutura de inicialização única dinamicamente. Para inicializar a estrutura estaticamente, atribua a constante INIT_ONCE_STATIC_INIT à variável de estrutura.

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.

Um objeto de inicialização única não pode ser movido ou copiado. O processo não deve modificar o objeto de inicialização e, em vez disso, deve tratá-lo como logicamente opaco. Use apenas as funções de inicialização única para gerenciar objetos de inicialização únicos.

Exemplos

O exemplo a seguir chama InitOnceInitialize para inicializar a estrutura de inicialização única chamada InitOnce. Como alternativa, a estrutura pode ser declarada como uma variável global, conforme mostrado em Usando One-Time Inicialização.


//Requires Windows Vista, Windows Server 2008 or later
#define _WIN32_WINNT 0x0600

#include <windows.h>

BOOL StartInitialization()
{
    INIT_ONCE InitOnce;

    InitOnceInitialize(&InitOnce);

    //...
    return TRUE;
}

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 no Windows 7, Windows Server 2008 Windows Server 2008 R2)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também

InitOnceExecuteOnce

Inicialização única

Funções de sincronização