Structure KSGATE (ks.h)

La structure KSGATE décrit un objet de porte AVStream.

Syntaxe

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

Membres

Count

Ce membre indique le décompte sur la porte. Lorsque ce membre est supérieur à zéro, la porte est considérée comme étant à l’état « ouvert » et autorise le traitement. Lorsque le membre est égal à zéro ou inférieur, la porte est considérée comme étant à l’état « fermé » et n’autorise pas le traitement. Bien que la structure KSGATE soit l’implémentation de la porte universelle dans AVStream, il existe à la fois des portes AND et OR. Pour les portes AND, Count est un moins le nombre d’entrées désactivées à la porte. Pour les portes OR, Count est le nombre d’entrées sur la porte. Ainsi, en général, ce membre peut contenir n’importe quelle valeur ; Toutefois, pour les portes AND, il ne peut contenir que des valeurs d’une ou de moins, et pour les portes OR, il ne peut contenir que des valeurs égales ou supérieures à zéro. Les clients doivent veiller à ne pas affecter spécifiquement au membre Count une valeur non valide pour la porte conceptuelle donnée que représente cette structure.

NextGate

Pointeur vers la structure KSGATE suivante dans la chaîne de porte. Il existe des restrictions sur cette propagation à l’aide des fonctions KsGateXxxAnd et KsGateXxxOr. NextGate pour une porte AND doit pointer vers une porte OR, et pour une porte OR doit pointer vers une porte AND. Les clients peuvent spécifier des transitions d’état manuellement via KsGateInitialize au lieu de KsGateInitializeAnd ou KsGateInitializeOr.

Remarques

D’un point de vue conceptuel, les portes de contrôle de flux sont des portes AND et OR logiques ; dans AVStream, ils sont utilisés comme mécanisme de contrôle de traitement. Pour plus d’informations, consultez Portes de contrôle de flux dans AVStream.

Toutes les manipulations de Count sont effectuées à l’aide de fonctions verrouillées pour fournir des modifications d’état synchrones. Il n’existe aucune distinction quant à savoir si un KSGATE donné représente une porte AND ou une porte OR. Par conséquent, les clients doivent veiller à ne pas faire passer une porte dans un état non valide à l’aide des fonctions KSGATEXxxAnd sur une porte OR ou KSGATE Xxx Ou des fonctions KSGATEXxxsur une porte AND ou en utilisant des fonctions KsGateTurnInputXxx non valides.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Microsoft Windows XP et les systèmes d’exploitation ultérieurs et dans Microsoft DirectX 8.0 et versions ultérieures.
En-tête ks.h (inclure Ks.h)

Voir aussi

KSGATE

KsGateInitialize

KsGateInitializeAnd

KsGateInitializeOr