Compartilhar via


Propriedades, eventos e métodos do KS

A arquitetura de streaming de kernel dá suporte à interação entre minidrivers e clientes no modo de usuário por meio de propriedades, eventos e métodos. Usando esses constructos, 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 todas as três classes de operação de maneira 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 da tecnologia padrão. Os 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

    Determinadas solicitações de propriedade exigem dados adicionais. Por exemplo, os pinos em um dispositivo de áudio dão suporte ao conjunto de propriedades KSPROPSETID_Audio . Um pino de áudio pode dar suporte a vários canais de áudio diferentes. Os clientes que estão obtendo ou definindo determinadas propriedades de KSPROPSETID_Audio devem especificar o canal de áudio ao qual a solicitação se aplica. Solicitações de evento e método não exigem dados adicionais.

Os 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 dão suporte a propriedades, eventos e métodos fornecendo um ponteiro para uma estrutura KSAUTOMATION_TABLE no KSFILTER_DESCRIPTOR ou KSPIN_DESCRIPTOR_EX relevante. Um KSAUTOMATION_TABLE contém um ponteiro para uma matriz de objetos KSPROPERTY_SET . Para saber mais, confira Definindo tabelas de automação.

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

Propriedades do KS

Eventos KS

Métodos KS