Struttura KSGATE (ks.h)
La struttura KSGATE descrive un oggetto gate AVStream.
Sintassi
typedef struct _KSGATE {
LONG Count;
PKSGATE NextGate;
} KSGATE, *PKSGATE;
Membri
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 del gate universale in AVStream, concettualmente, esistono sia porte AND che OR. Per i cancelli AND, Count è uno meno il numero di input disattivati per il gate. Per le porte OR, Count è il numero di input per il gate. Pertanto, in generale, questo membro può contenere qualsiasi valore; Tuttavia, per i controlli 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 la porta concettuale specificata rappresentata 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 gate OR e per un gate OR deve puntare a un gate AND. I client possono specificare manualmente le transizioni di stato tramite KsGateInitialize anziché KsGateInitializeAnd o KsGateInitializeOr.
Osservazioni
Concettualmente, i controlli di controllo del flusso sono gate AND logici e OR; in AVStream, vengono usati come meccanismo di controllo dell'elaborazione. Per altre informazioni, vedere controlli di controllo del flusso in AVStream.
Tutte le manipolazioni di Count vengono eseguite usando funzioni con interlock per fornire modifiche dello stato sincrono. Non esiste alcuna distinzione per stabilire se un determinato KSGATE rappresenta un gate AND o un gate OR. Pertanto, i client devono prestare attenzione a non eseguire la transizione di un gate a uno stato non valido usando KSGATEXxxE funzioni su un gate OR o KSGATEXxxOr funzioni su un gate AND o usando KsGateTurnInputxxx funzioni non valide.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Disponibile in Microsoft Windows XP e nei sistemi operativi successivi e in Microsoft DirectX 8.0 e versioni successive. |
intestazione | ks.h (include Ks.h) |