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.

Tabela de Resumo de Uso

Destino Tipo de descritor de evento Tipo de valor de evento

Pin

KSEVENT

KSEVENTDATA

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.

Comentários

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.

Requisitos

Versão

Disponível no Windows 7 e versões posteriores dos sistemas operacionais Windows.

Cabeçalho

Ks.h (inclua Ks.h)

Confira também

EventHandler

IMiniport::GetDescription

IPortEvents::AddEventToEventList

IPortEvents::GenerateEventList

KSEVENT

KSEVENTDATA

PCAUTOMATION_TABLE

PCEVENT_ITEM

PCEVENT_REQUEST

PCFILTER_DESCRIPTOR