次の方法で共有


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 任意のレベル