InitOnceInitialize-Funktion (synchapi.h)

Initialisiert eine einmalige Initialisierungsstruktur.

Syntax

void InitOnceInitialize(
  [out] PINIT_ONCE InitOnce
);

Parameter

[out] InitOnce

Ein Zeiger auf die einmalige Initialisierungsstruktur.

Rückgabewert

Keine

Bemerkungen

Die InitOnceInitialize-Funktion wird verwendet, um eine einmalige Initialisierungsstruktur dynamisch zu initialisieren. Um die Struktur statisch zu initialisieren, weisen Sie der Strukturvariablen die Konstante INIT_ONCE_STATIC_INIT zu.

Um eine Anwendung zu kompilieren, die diese Funktion verwendet, definieren Sie _WIN32_WINNT als 0x0600 oder höher. Weitere Informationen finden Sie unter Verwenden der Windows-Header.

Ein einmaliges Initialisierungsobjekt kann nicht verschoben oder kopiert werden. Der Prozess darf das Initialisierungsobjekt nicht ändern und muss es stattdessen als logisch undurchsichtig behandeln. Verwenden Sie nur die einmaligen Initialisierungsfunktionen, um einmalige Initialisierungsobjekte zu verwalten.

Beispiele

Im folgenden Beispiel wird InitOnceInitialize aufgerufen, um die einmalige Initialisierungsstruktur mit dem Namen InitOncezu initialisieren. Alternativ kann die Struktur als globale Variable deklariert werden, wie unter Verwenden One-Time Initialisierung gezeigt.


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

#include <windows.h>

BOOL StartInitialization()
{
    INIT_ONCE InitOnce;

    InitOnceInitialize(&InitOnce);

    //...
    return TRUE;
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile synchapi.h (Einschließen von Windows.h unter Windows 7, Windows Server 2008 Windows Server 2008 R2)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

InitOnceExecuteOnce

Einmalige Initialisierung

Synchronisierungsfunktionen