Структура KSGATE (ks.h)

Структура KSGATE описывает объект шлюза AVStream.

Синтаксис

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

Члены

Count

Этот элемент указывает количество на воротах. Если этот элемент выше нуля, шлюз считается открытым и допускает обработку. Если член равен нулю или ниже, шлюз считается закрытым и не разрешает обработку. Хотя структура KSGATE является универсальной реализацией шлюзов в AVStream, концептуально существуют как вентили AND, так и OR. Для вентилей AND значение Count равно 1 за вычетом количества входов в ворота. Для шлюзов OR значение Count — это количество входных данных для шлюза. Таким образом, как правило, этот элемент может содержать любое значение; однако для вентилей AND он может содержать только одно или меньшее значение, а для вентили OR — только ноль или больше. Клиенты должны быть осторожны, чтобы не задавать члену Count недопустимое значение для заданного концептуального шлюза, представляемого этой структурой.

NextGate

Указатель на следующую структуру KSGATE в цепочке ворот. Существуют ограничения на это распространение с помощью функций KsGateXxxAnd и KsGateXxxOr. NextGate для ворот AND должен указывать на ворота ИЛИ, а для ворот ИЛИ должен указывать на ворота И. Клиенты могут указывать переходы состояния вручную с помощью KsGateInitialize вместо KsGateInitializeAnd или KsGateInitializeOr.

Комментарии

По сути, шлюзы управления потоком являются логическими шлюзами AND и OR; в AVStream они используются в качестве механизма обработки и управления. Дополнительные сведения см. в статье Шлюзы управления потоком в AVStream.

Все операции count выполняются с помощью заблокированных функций для обеспечения синхронных изменений состояния. Существует никаких различий в том, представляет ли данный KSGATE ворота AND или ИЛИ. Таким образом, клиенты должны быть осторожны, чтобы не переводить шлюз в недопустимое состояние с помощью функций KSGATEXxxAnd на шлюзе ИЛИ или KSGATEXxxOr на шлюзе AND или с помощью функций KsGateTurnInputXxx недопустимо.

Требования

Требование Значение
Минимальная версия клиента Доступно в операционных системах Microsoft Windows XP и более поздних версий, а также в Microsoft DirectX 8.0 и более поздних версиях.
Верхняя часть ks.h (включая Ks.h)

См. также раздел

KSGATE

KsGateInitialize

KsGateInitializeAnd

KsGateInitializeOr