次の方法で共有


InitOnceComplete 関数 (synchapi.h)

InitOnceBeginInitialize 関数で開始された 1 回限りの初期化を完了します。

構文

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

パラメーター

[in, out] lpInitOnce

1 回限りの初期化構造体へのポインター。

[in] dwFlags

このパラメーターには、次のいずれかのフラグを指定できます。

意味
INIT_ONCE_ASYNC
0x00000002UL
非同期モードで動作します。 これにより、複数の完了試行を並列で実行できます。 このフラグは、 InitOnceBeginInitialize 関数の対応する呼び出しで渡されるフラグと一致する必要があります。 このフラグは 、INIT_ONCE_INIT_FAILEDと組み合わせられない場合があります。
INIT_ONCE_INIT_FAILED
0x00000004UL
初期化の試行に失敗しました。 このフラグは 、INIT_ONCE_ASYNCと組み合わせられない場合があります。 非同期初期化に失敗するには、単にそれを破棄します (つまり、 InitOnceComplete 関数を呼び出さないでください)。

[in, optional] lpContext

1 回限りの初期化構造体で格納されるデータへのポインター。 このデータは、後続の InitOnceBeginInitialize 関数の呼び出しに渡される lpContext パラメーターで返されます。 lpContext が値を指す場合、値の下位INIT_ONCE_CTX_RESERVED_BITSは 0 である必要があります。 lpContext がデータ構造を指す場合、データ構造は DWORD にアラインされている必要があります。

戻り値

関数が成功すると、戻り値は 0 以外になります。

関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、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 を含む)
Library Kernel32.lib
[DLL] Kernel32.dll

関連項目

InitOnceBeginInitialize

1 回限り初期化

同期関数