Partager via


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 nombre sur la porte. Lorsque ce membre est supérieur à zéro, la porte est considérée comme étant dans 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 dans l’état « fermé » et n’autorise pas le traitement. Bien que la structure KSGATE soit l’implémentation de porte universelle dans AVStream, conceptuellement, 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 pour la porte. Ainsi, en général, ce membre peut contenir n’importe quelle valeur ; Toutefois, pour les portes AND, elle ne peut contenir que des valeurs d’une ou de moins, et pour les portes OR, elle ne peut contenir que des valeurs égales ou supérieures à zéro. Les clients doivent veiller à ne pas définir spécifiquement le membre Count sur une valeur non valide pour la porte conceptuelle donnée que cette structure représente.

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 manuellement des transitions d’état via KsGateInitialize au lieu de KsGateInitializeAnd ou KsGateInitializeOr.

Remarques

Conceptuellement, les portes de contrôle de flux sont des portes logiques ET et OR ; 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 interblocé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 faire attention à ne pas passer d’une porte dans un état non valide à l’aide de KSGATEXxxEt fonctions sur une porte OR ou KSGATEXxxOu fonctions sur une porte AND ou à l’aide de fonctions KsGateTurnInputXxx non valides.

Exigences

Exigence Valeur
client minimum 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.
d’en-tête ks.h (include Ks.h)

Voir aussi

KSGATE

KsGateInitialize

KsGateInitializeAnd

KsGateInitializeOr