次の方法で共有


KsGateGetStateUnsafe 関数 (ks.h)

KsGateGetStateUnsafe 関数は、指定されたゲートの状態 (開いているか閉じているか) を安全でない方法で返します。これは、同期 に関係なくされます。

構文

BOOLEAN KsGateGetStateUnsafe(
  [in] PKSGATE Gate
);

パラメーター

[in] Gate

状態を返すゲートを表す KSGATE 構造体へのポインター。

戻り値

この呼び出しは、ゲート 開いている場合は TRUE を返し、ゲートが閉じている場合は FALSE します。

備考

KsGateGetStateUnsafe は同期を処理しないため、ゲートが呼び出し時に状態の途中から別の状態に遷移している場合、ゲートの状態と一致しない結果を取得できます。

ゲートAの出力がゲートBへの入力として接続されている状況を考えてみましょう。A がクローズ状態に遷移し、B がオープンからクローズに遷移します。 同時に、A が閉じられ、B が閉じるまでの間に KsGateGetStateUnsafe 別のスレッドが呼び出された場合でも、ルーチンは B が開いていたことを返します。

KsGateGetStateUnsafe は、Gate->Count が 0 より大きいかどうかを返します。 この関数では、これを行うためにインターロックされた関数は使用されません。 したがって、呼び出しは同期に関係なく実行されます。

必要条件

要件 価値
サポートされる最小クライアント Microsoft Windows XP 以降のオペレーティング システムと DirectX 8.0 以降の DirectX バージョンで使用できます。
ターゲット プラットフォーム デスクトップ
ヘッダー ks.h (Ks.h を含む)
IRQL 任意のレベル