Share via


InitOnceInitialize, fonction (synchapi.h)

Initialise une structure d’initialisation unique.

Syntaxe

void InitOnceInitialize(
  [out] PINIT_ONCE InitOnce
);

Paramètres

[out] InitOnce

Pointeur vers la structure d’initialisation à usage unique.

Valeur de retour

None

Remarques

La fonction InitOnceInitialize permet d’initialiser dynamiquement une structure d’initialisation unique. Pour initialiser la structure de manière statique, affectez la constante INIT_ONCE_STATIC_INIT à la variable de structure.

Pour compiler une application qui utilise cette fonction, définissez _WIN32_WINNT comme 0x0600 ou version ultérieure. Pour plus d’informations, consultez Utilisation des en-têtes Windows.

Un objet d’initialisation unique ne peut pas être déplacé ou copié. Le processus ne doit pas modifier l’objet d’initialisation et doit plutôt le traiter comme étant logiquement opaque. Utilisez uniquement les fonctions d’initialisation à usage unique pour gérer les objets d’initialisation à usage unique.

Exemples

L’exemple suivant appelle InitOnceInitialize pour initialiser la structure d’initialisation unique nommée InitOnce. Vous pouvez également déclarer la structure en tant que variable globale, comme indiqué dans Using One-Time Initialization.


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

#include <windows.h>

BOOL StartInitialization()
{
    INIT_ONCE InitOnce;

    InitOnceInitialize(&InitOnce);

    //...
    return TRUE;
}

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau | applications UWP]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau | applications UWP]
Plateforme cible Windows
En-tête synchapi.h (inclure Windows.h sur Windows 7, Windows Server 2008 Windows Server 2008 R2)
Bibliothèque Kernel32.lib
DLL Kernel32.dll

Voir aussi

InitOnceExecuteOnce

Initialisation à usage unique

Fonctions de synchronisation