KsGateGetStateUnsafe 関数 (ks.h)
KsGateGetStateUnsafe 関数は、同期に関係なく、安全でない方法で、指定されたゲートの状態 (開いているか閉じているか) を返します。
構文
BOOLEAN KsGateGetStateUnsafe(
[in] PKSGATE Gate
);
パラメーター
[in] Gate
状態を返すゲートを表す KSGATE 構造体へのポインター。
戻り値
この呼び出しは、ゲートが開いている場合は TRUE を返し、ゲートが閉じている場合は FALSE を 返します。
注釈
KsGateGetStateUnsafe は同期を処理しないため、ゲートが呼び出し時に状態間で切り替わる途中にある場合、ゲートの状態と一致しない結果を取得できます。
ゲートAの出力がゲートBへの入力として接続されている状況を考えてみましょう。A はクローズに遷移し、B はオープンからクローズに遷移します。 同時に、別のスレッドが KsGateGetStateUnsafe を呼び出して A が閉じ、B が閉じるまでの間に、ルーチンは B が開いていたことを返します。
KsGateGetStateUnsafe は、Gate-Count> が 0 より大きいかどうかを返します。 この関数では、これを行うためにインターロックされた関数は使用されません。 したがって、呼び出しは同期に関係なく実行されます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Microsoft Windows XP 以降のオペレーティング システムおよび DirectX 8.0 以降の DirectX バージョンで使用できます。 |
対象プラットフォーム | デスクトップ |
Header | ks.h (Ks.h を含む) |
IRQL | 任意のレベル |