Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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: