KSEVENT_PINCAPS_FORMATCHANGE
O KSEVENT_PINCAPS_FORMATCHANGE
evento indica para a pilha de áudio que o formato de dados de áudio para o dispositivo de áudio foi alterado.
Destino | Tipo de descritor de evento | Tipo de valor de evento |
---|---|---|
Pin |
O tipo de valor de evento (dados de operação) é uma estrutura KSEVENTDATA que especifica o método de notificação a ser usado para esse evento.
Quando um driver de porta de áudio chama a rotina EventHandler para seu driver de miniporto, ele passa uma estrutura PCEVENT_REQUEST . Essa estrutura contém um ponteiro para uma estrutura de PCEVENT_ITEM que é usada para descrever um evento com suporte por um filtro, pino ou nó.
Portanto, por exemplo, um driver que dá suporte ao KSEVENT_PINCAPS_FORMATCHANGE
evento deve preencher uma estrutura PCEVENT_ITEM da seguinte maneira:
static PCEVENT_ITEM FormatChangePinEvent[] = {
{
&KSEVENTSETID_PinCapsChange,
KSEVENT_PINCAPS_FORMATCHANGE,
KSEVENT_TYPE_ENABLE | KSEVENT_TYPE_BASICSUPPORT,
MyEventHandler
}
};
No exemplo de código anterior, o manipulador de eventos personalizado MyEventHandler deve monitorar o KSEVENT_PINCAPS_FORMATCHANGE
evento e registrá-lo com Portcls quando KSEVENT_PINCAPS_FORMATCHANGE for disparado. O driver de miniporto deve chamar o método IPortEvents::AddEventToEventList para registrar o evento.
Para obter uma descrição dos pinos, nós, conexões e propriedades compatíveis com o driver de miniporto, o driver de porta chama o método IMiniport::GetDescription . Essa chamada de método retorna uma estrutura PCFILTER_DESCRIPTOR que aponta para uma tabela de automação (PCAUTOMATION_TABLE). A estrutura PCAUTOMATION_TABLE tem um membro Events . Esse membro aponta para uma matriz dos eventos associados ao filtro que o driver de miniporto dá suporte. Portanto, você deve definir o membro Eventos para apontar para a matriz de eventos que contém a estrutura PCEVENT_ITEM para o KSEVENT_PINCAPS_FORMATCHANGE
evento.
Quando o driver de miniporto detecta uma alteração de formato dinâmico, ele deve chamar o método IPortEvents::GenerateEventList para sinalizar o KSEVENT_PINCAPS_FORMATCHANGE
evento.
Versão |
Disponível no Windows 7 e versões posteriores dos sistemas operacionais Windows. |
Cabeçalho |
Ks.h (inclua Ks.h) |
IPortEvents::AddEventToEventList