Share via


InitializeSynchronizationBarrier 関数 (synchapi.h)

新しい同期バリアを初期化します。

構文

BOOL InitializeSynchronizationBarrier(
  [out] LPSYNCHRONIZATION_BARRIER lpBarrier,
  [in]  LONG                      lTotalThreads,
  [in]  LONG                      lSpinCount
);

パラメーター

[out] lpBarrier

初期化する SYNCHRONIZATION_BARRIER 構造体へのポインター。 これは、アプリケーションで変更すべきではない不透明な構造です。

[in] lTotalThreads

このバリアに入ることができるスレッドの最大数。 スレッドの最大数がバリアに入った後、すべてのスレッドが続行されます。

[in] lSpinCount

他のスレッドがバリアに到達するのを待機している間に、個々のスレッドがスピンする必要がある回数。 このパラメーターが の -1場合、スレッドは 2000 回スピンします。 スレッドが lSpinCount を超える場合、 SYNCHRONIZATION_BARRIER_FLAGS_SPIN_ONLYで EnterSynchronizationBarrier を呼び出さない限り、スレッドはブロック されます

戻り値

TRUE バリアが正常に初期化された場合は 。 バリアが正常に初期化されなかった場合、この関数は を返します FALSEGetLastError を使用して、拡張エラー情報を取得します。

要件

   
サポートされている最小のクライアント Windows 8 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2012 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー synchapi.h (Windows.h を含む)
Library Kernel32.lib
[DLL] Kernel32.dll

関連項目

DeleteSynchronizationBarrier

EnterSynchronizationBarrier

同期バリア

VBS エンクレーブで使用できる Vertdll API