Freigeben über


InitOnceComplete-Funktion (synchapi.h)

Schließt die einmalige Initialisierung ab, die mit der Funktion InitOnceBeginInitialize gestartet wurde.

Syntax

BOOL InitOnceComplete(
  [in, out]      LPINIT_ONCE lpInitOnce,
  [in]           DWORD       dwFlags,
  [in, optional] LPVOID      lpContext
);

Parameter

[in, out] lpInitOnce

Ein Zeiger auf die einmalige Initialisierungsstruktur.

[in] dwFlags

Dieser Parameter kann eines der folgenden Flags sein.

Wert Bedeutung
INIT_ONCE_ASYNC
0x000000002UL
Arbeiten Sie im asynchronen Modus. Dadurch können mehrere Vervollständigungsversuche parallel ausgeführt werden. Dieses Flag muss mit dem Flag übereinstimmen, das im entsprechenden Aufruf der InitOnceBeginInitialize-Funktion übergeben wurde . Dieses Flag kann nicht mit INIT_ONCE_INIT_FAILED kombiniert werden.
INIT_ONCE_INIT_FAILED
0x00000004UL
Fehler beim Initialisierungsversuch. Dieses Flag kann nicht mit INIT_ONCE_ASYNC kombiniert werden. Um eine asynchrone Initialisierung fehlschlagen zu können, verlassen Sie sie einfach (d. a. rufen Sie die InitOnceComplete-Funktion nicht auf).

[in, optional] lpContext

Ein Zeiger auf die Daten, die mit der Einmalinitialisierungsstruktur gespeichert werden sollen. Diese Daten werden im lpContext-Parameter zurückgegeben, der an nachfolgende Aufrufe der InitOnceBeginInitialize-Funktion übergeben wird. Wenn lpContext auf einen Wert verweist, muss der INIT_ONCE_CTX_RESERVED_BITS des Werts in niedriger Reihenfolge 0 sein. Wenn lpContext auf eine Datenstruktur verweist, muss die Datenstruktur DWORD-ausgerichtet sein.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Hinweise

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.

Beispiele

Ein Beispiel, das diese Funktion verwendet, finden Sie unter Verwenden One-Time Initialisierung.

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

InitOnceBeginInitialize

Einmalige Initialisierung

Synchronisierungsfunktionen