Compartir a través de


Función InitOnceInitialize (synchapi.h)

Inicializa una estructura de inicialización única.

Sintaxis

void InitOnceInitialize(
  [out] PINIT_ONCE InitOnce
);

Parámetros

[out] InitOnce

Puntero a la estructura de inicialización única.

Valor devuelto

None

Observaciones

La función InitOnceInitialize se usa para inicializar dinámicamente una estructura de inicialización única. Para inicializar la estructura estáticamente, asigne la constante INIT_ONCE_STATIC_INIT a la variable de estructura.

Para compilar una aplicación que use esta función, defina _WIN32_WINNT como 0x0600 o posterior. Para obtener más información, vea Uso de los encabezados de Windows.

Un objeto de inicialización único no se puede mover ni copiar. El proceso no debe modificar el objeto de inicialización y, en su lugar, debe tratarlo como lógicamente opaco. Use solo las funciones de inicialización única para administrar objetos de inicialización de un solo uso.

Ejemplos

En el ejemplo siguiente se llama a InitOnceInitialize para inicializar la estructura de inicialización única denominada InitOnce. Como alternativa, la estructura se puede declarar como una variable global como se muestra en Uso de One-Time Inicialización.


//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 Value
Cliente mínimo compatible Windows Vista [aplicaciones de escritorio | aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 [aplicaciones de escritorio | aplicaciones para UWP]
Plataforma de destino Windows
Encabezado synchapi.h (incluye Windows.h en Windows 7, Windows Server 2008 Windows Server 2008 R2)
Library Kernel32.lib
Archivo DLL Kernel32.dll

Vea también

InitOnceExecuteOnce

Inicialización única

Funciones de sincronización