Share via


initOnceComplete 函式 (synchapi.h)

完成從 InitOnceBeginInitialize 函式開始的一次性初始化。

語法

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

參數

[in, out] lpInitOnce

單次初始化結構的指標。

[in] dwFlags

此參數可以是下列其中一個旗標。

意義
INIT_ONCE_ASYNC
0x00000002UL
以異步模式操作。 這可讓多次完成嘗試平行執行。 此旗標必須符合傳入 對應呼叫 InitOnceBeginInitialize 函式的旗標。 此旗標可能不會與 INIT_ONCE_INIT_FAILED結合。
INIT_ONCE_INIT_FAILED
0x00000004UL
初始化嘗試失敗。 此旗標可能不會與 INIT_ONCE_ASYNC結合。 若要使異步初始化失敗,只需放棄 (也就是說,請勿呼叫 InitOnceComplete 函式) 。

[in, optional] lpContext

要與一次性初始化結構一起儲存之數據的指標。 此數據會在傳遞給 InitOnceBeginInitialize 函式的後續呼叫的 lpContext 參數中傳回。 如果 lpContext 指向值,則值的低順序 INIT_ONCE_CTX_RESERVED_BITS 必須是零。 如果 lpContext 指向數據結構,則數據結構必須對齊 DWORD

傳回值

如果函式成功,則傳回非零的值。

如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

備註

若要編譯使用此函式的應用程式,請將 _WIN32_WINNT 定義為0x0600或更新版本。 如需詳細資訊,請參閱 使用 Windows 標頭

範例

如需使用此函式的範例,請參閱 使用 One-Time 初始化

規格需求

需求
最低支援的用戶端 Windows Vista [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 synchapi.h (包括 Windows 7 上的 Windows.h、Windows Server 2008 Windows Server 2008 R2)
程式庫 Kernel32.lib
DLL Kernel32.dll

另請參閱

InitOnceBeginInitialize

一次性初始化

同步處理函式