Структура KSGATE (ks.h)
Структура KSGATE описывает объект шлюза AVStream.
Синтаксис
typedef struct _KSGATE {
LONG Count;
PKSGATE NextGate;
} KSGATE, *PKSGATE;
Члены
Count
Этот элемент указывает количество ворот. Если этот элемент выше нуля, шлюз считается в состоянии "открытый" и разрешает обработку. Если элемент равен нулю или ниже, шлюз считается в состоянии "закрытый" и не разрешает обработку. Хотя структура KSGATE является универсальной реализацией шлюзов в AVStream, концептуально, существуют как И И, так и ИЛИ шлюзы. Для ворот И число минус количество входных данных для ворот. Для ворот OR число входных данных для ворот является числом входных данных. Таким образом, как правило, этот член может содержать любое значение; однако для шлюзов AND он может содержать только значения одного или меньшего значения, а для шлюзов OR он может содержать только значения нуля или больше. Клиенты должны быть осторожны, чтобы не специально задать элемент Count недопустимым значением для заданных концептуальных ворот, представленных этой структурой.
NextGate
Указатель на следующую структуру KSGATE в цепочке ворот. Существуют ограничения на распространение с помощью функций KsGateXxAnd и KsGateXxxOr. NextGate для ворот AND должен указывать на ворота OR, и для ворот OR должен указывать на ворота AND. Клиенты могут вручную указывать переходы состояния через KsGateInitialize вместо KsGateInitializeAnd или KsGateInitializeOr.
Замечания
Концептуально шлюзы управления потоками являются логическими и ИЛИ шлюзами; в AVStream они используются в качестве механизма управления обработкой. Дополнительные сведения см. в разделе Шлюзы управления потоками в AVStream.
Все манипуляции с count выполняются с помощью межблокированных функций для обеспечения синхронных изменений состояния. Нет различия в том, представляет ли данный KSGATE ворота AND или ворота OR. Таким образом, клиенты должны быть осторожны, чтобы не переходить шлюз в недопустимое состояние с помощью KSGATEXxxИ функций на шлюзе OR или KSGATEXxxИли функции на шлюзе AND или с помощью функции KsGateTurnInputXxx недействительно.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно в Операционных системах Microsoft Windows XP и более поздних версиях, а также в Microsoft DirectX 8.0 и более поздних версиях. |
заголовка | ks.h (include Ks.h) |