Share via


Estrutura KSGATE (ks.h)

A estrutura KSGATE descreve um objeto de portão AVStream.

Sintaxe

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

Membros

Count

Esse membro indica a contagem no portão. Quando esse membro está acima de zero, o portão é considerado no estado "aberto" e permite o processamento. Quando o membro é zero ou inferior, o portão é considerado no estado "fechado" e não permite o processamento. Embora a estrutura KSGATE seja a implementação de portão universal no AVStream, conceitualmente, há portões AND e OR. Para portões AND, Count é um menos o número de entradas desativadas para o portão. Para portões OR, Count é o número de entradas para o portão. Portanto, em geral, esse membro pode conter qualquer valor; no entanto, para portões AND, ele só pode conter valores de um ou menos e, para portões OR, ele só pode conter valores de zero ou maior. Os clientes devem ter cuidado para não definir especificamente o membro Count como um valor inválido para o portão conceitual fornecido que essa estrutura representa.

NextGate

Um ponteiro para a próxima estrutura KSGATE na cadeia de portão. Há restrições nessa propagação usando as funções KsGateXxxAnd e KsGateXxxOr. NextGate para um portão AND deve apontar para um portão OR e para um portão OR deve apontar para um portão AND. Os clientes podem especificar transições de estado manualmente por meio de KsGateInitialize em vez de KsGateInitializeAnd ou KsGateInitializeOr.

Comentários

Conceitualmente, as portas de controle de fluxo são portas AND lógicas e OR; no AVStream, eles são usados como um mecanismo de controle de processamento. Para obter mais informações, consulte Portões de controle de fluxo no AVStream.

Todas as manipulações de Count são feitas usando funções intertravadas para fornecer alterações de estado síncronas. Não há distinção sobre se um determinado KSGATE representa um portão AND ou um portão OR. Portanto, os clientes devem ter cuidado para não fazer a transição de um portão para um estado inválido usando funções KSGATEXxxAnd em um portão OR ou funções KSGATEXxxOu em um portão AND ou usando funções KsGateTurnInputXxx inválidas.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Microsoft Windows XP e em sistemas operacionais posteriores e no Microsoft DirectX 8.0 e versões posteriores.
Cabeçalho ks.h (inclua Ks.h)

Confira também

KSGATE

KsGateInitialize

KsGateInitializeAnd

KsGateInitializeOr