_interlockedbittestandset関数 (winnt.h)
指定した LONG 値の指定したビットをテストし、1 に設定します。 操作はアトミックです。
構文
BOOLEAN _interlockedbittestandset(
[in] LONG volatile *Base,
[in] LONG Offset
);
パラメーター
[in] Base
変数へのポインター。
[in] Offset
テストするビット位置。 オフセットは最下位ビット位置からのものであり、下位ビットはゼロでテストされ、31 は最上位ビットをテストします。
戻り値
指定したビットの値。
備考
インターロックされた関数は、複数のスレッドによって共有される変数へのアクセスを同期するための簡単なメカニズムを提供します。 この関数は、他のインターロックされた関数の呼び出しに関してアトミックです。
この関数は、可能な限りコンパイラ組み込みを使用して実装されます。 詳細については、WinBase.h ヘッダー ファイルと _interlockedbittestandsetを参照してください。
この関数は、メモリ操作が順番に完了するように、完全なメモリ バリア (またはフェンス) を生成します。
注 この機能は、Windows RT ベースのシステムでサポートされています。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | winnt.h (Windows.h を含む) |
関連項目
インタロックされた変数アクセス を
InterlockedBitTestAndReset の
InterlockedBitTestAndReset64 の
InterlockedBitTestAndResetAcquire の
InterlockedBitTestAndResetRelease の
InterlockedBitTestAndSet64 の
InterlockedBitTestAndSetAcquire の
InterlockedBitTestAndSetRelease の