Partilhar via


Propriedades, eventos e métodos do KS

A arquitetura de streaming do kernel suporta a interação entre minidrivers e clientes de modo de usuário por meio de propriedades, eventos e métodos. Usando essas construções, os clientes de um objeto KS podem obter e definir o estado do objeto, registrar retornos de chamada de notificação para eventos e executar métodos de objeto.

Os clientes solicitam as três classes de operação de forma padronizada. O cliente fornece uma estrutura de alias de KSIDENTIFIER em uma chamada para DeviceIoControl (descrito na documentação do SDK do Microsoft Windows) ou KsSynchronousDeviceControl.

As estruturas de alias são KSPROPERTY, KSEVENT, e KSMETHOD. Todos os três incluem os seguintes parâmetros:

  • Configurar

    Operações funcionalmente semelhantes são agrupadas em um conjunto. Cada propriedade, evento ou conjunto de métodos é identificado por um GUID. A Microsoft define GUIDs para operações específicas de tecnologia padrão. Minidrivers podem definir seus próprios GUIDs para operações personalizadas.

  • Identificador

    Cada operação é especificada por um número de ID dentro do conjunto.

  • Dados de identificação específicos da operação

    Alguns pedidos de propriedade requerem dados adicionais. Por exemplo, os pinos em um dispositivo de áudio suportam o conjunto de propriedades KSPROPSETID_Audio . Um pino de áudio pode suportar vários canais de áudio diferentes. Os clientes que obtêm ou definem determinadas propriedades KSPROPSETID_Audio devem especificar o canal de áudio ao qual a solicitação se aplica. As solicitações de eventos e métodos não exigem dados adicionais.

GUIDs e identificadores definidos pela Microsoft para operações de uso geral estão localizados no cabeçalho ks.h. GUIDs padrão e identificadores para classes específicas de tecnologia multimídia são encontrados em ksmedia.h.

Os minidrivers AVStream suportam propriedades, eventos e métodos, fornecendo um ponteiro para uma estrutura KSAUTOMATION_TABLE na KSFILTER_DESCRIPTOR ou KSPIN_DESCRIPTOR_EX relevante. Um KSAUTOMATION_TABLE contém um ponteiro para uma matriz de objetos KSPROPERTY_SET . Para saber mais, consulte Definindo tabelas de automação.

Estas seções contêm informações sobre como os minidrivers suportam as três classes de operação:

Propriedades KS

Eventos KS

Métodos KS