KSGATE 結構 (ks.h)

KSGATE 結構描述 AVStream 閘道物件。

語法

typedef struct _KSGATE {
  LONG    Count;
  PKSGATE NextGate;
} KSGATE, *PKSGATE;

成員

Count

此成員表示閘道上的計數。 當這個成員高於零時,閘道會被視為處於「開啟」狀態,並允許處理。 當成員為零或低於時,閘道會被視為處於「已關閉」狀態,且不允許處理。 雖然 KSGATE 結構是 AVStream 中的通用閘道實作,但概念上同時有 AND 和 OR 閘道。 針對 AND 閘道,Count 是一個減去閘道輸入的數目。 針對 OR 閘道,Count 是閘道輸入上的數目。 因此,一般而言,這個成員可以包含任何值;不過,針對 AND 閘道,它只能包含一或更少的值,而針對 OR 閘道,它只能包含零或更大的值。 用戶端應該小心不要特別將 Count 成員設定為這個結構所代表之指定概念閘道的無效值。

NextGate

閘道鏈結中下一個 KSGATE 結構的指標。 使用 KsGateXxxAnd 和 KsGateXxxOr 函式來傳播此傳播有限制。 AND 閘道的 NextGate 必須指向 OR 閘道,而 OR 閘道必須指向 AND 閘道。 用戶端可以透過 KsGateInitialize 手動指定狀態轉換,而不是 KsGateInitializeAnd 或 KsGateInitializeOr。

備註

在概念上,流量控制閘道是邏輯 AND 和 OR 閘道;在 AVStream 中,它們會當做處理控制機制使用。 如需詳細資訊,請參閱 AVStream 中的流量控制閘道

計數的所有操作都是使用連結函式來完成,以提供同步狀態變更。 與指定的 KSGATE 是否代表 AND 閘道或 OR 閘道沒有區別。 因此,用戶端應該小心不要使用 OR 閘道上的 KSGATEXxx 函式或 AND 閘道上的 KSGATEXxx 函式,或使用 KsGateTurnInputXxx 函式無效,將閘道轉換成不正確狀態。

規格需求

   
最低支援的用戶端 可在 Microsoft Windows XP 和更新版本的作業系統和 Microsoft DirectX 8.0 和更新版本中取得。
標頭 ks.h (包含 Ks.h)

另請參閱

KSGATE

KsGateInitialize

KsGateInitializeAnd

KsGateInitializeOr