Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A arquitetura de streaming do 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 alias de KSIDENTIFIER em uma chamada para DeviceIoControl (descrito na documentação do Microsoft Windows SDK) ou KsSynchronousDeviceControl.
As estruturas de alias são KSPROPERTY, KSEVENT e KSMETHOD. Todos os três incluem os seguintes parâmetros:
Set
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 tecnologias padronizadas. 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 receberem ou definirem determinadas propriedades 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.
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 relevantes. Um KSAUTOMATION_TABLE contém um ponteiro para uma matriz de objetos KSPROPERTY_SET . Para saber mais, confira Como definir 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