Condividi tramite


Struttura KSGATE (ks.h)

La struttura KSGATE descrive un oggetto gate AVStream.

Sintassi

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

Members

Count

Questo membro indica il conteggio sul gate. Quando questo membro è superiore a zero, il gate viene considerato nello stato "aperto" e consente l'elaborazione. Quando il membro è zero o inferiore, il gate viene considerato nello stato "chiuso" e non consente l'elaborazione. Anche se la struttura KSGATE è l'implementazione universale del gate in AVStream, concettualmente, sono presenti sia porte AND che OR. Per i cancelli AND, Conteggio è un meno il numero di input disattivati al cancello. Per i cancelli OR, Conteggio è il numero di input per il gate. Pertanto, in generale, questo membro può contenere qualsiasi valore; tuttavia, per i cancelli AND, può contenere solo valori di uno o meno e per i cancelli OR, può contenere solo valori pari a zero o maggiore. I client devono prestare attenzione a non impostare specificamente il membro Count su un valore non valido per il determinato gate concettuale rappresentato da questa struttura.

NextGate

Puntatore alla struttura KSGATE successiva nella catena di gate. Esistono restrizioni per questa propagazione usando le funzioni KsGateXxxAnd e KsGateXxxOr. NextGate per un gate AND deve puntare a un cancello OR e per un cancello OR deve puntare a un cancello AND. I client possono specificare manualmente transizioni di stato tramite KsGateInitialize anziché KsGateInitializeAnd o KsGateInitializeOr.

Commenti

Concettualmente, i cancelli di controllo del flusso sono porte AND logiche e OR; in AVStream vengono usati come meccanismo di controllo dell'elaborazione. Per altre informazioni, vedere Flow Control Gates in AVStream.

Tutte le manipolazioni del conteggio vengono eseguite usando funzioni interlock per fornire modifiche allo stato sincrone. Non esiste alcuna distinzione in base al fatto che un determinato KSGATE rappresenti un cancello AND o un gate OR. Pertanto, i client devono prestare attenzione a non eseguire la transizione di un gate in uno stato non valido usando le funzioni KSGATEXxxe in un gate OR o in un gate AND o usando le funzioni KsGateTurnInputXxx non validamente.

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Microsoft Windows XP e versioni successive e in Microsoft DirectX 8.0 e versioni successive.
Intestazione ks.h (include Ks.h)

Vedi anche

KSGATE

KsGateInitialize

KsGateInitializeAnd

KsGateInitializeOr