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 InitOnce
zu 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 |