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 estrutura PCEVENT_REQUEST especifica uma solicitação de evento.
Sintaxe
typedef struct _PCEVENT_REQUEST {
PUNKNOWN MajorTarget;
PUNKNOWN MinorTarget;
ULONG Node;
const PCEVENT_ITEM *EventItem;
PKSEVENT_ENTRY EventEntry;
ULONG Verb;
PIRP Irp;
} PCEVENT_REQUEST, *PPCEVENT_REQUEST;
Membros
MajorTarget
Ponteiro IUnknown para o objeto de miniporto principal. Esse membro contém o ponteiro UnknownMiniport que o driver do adaptador passou anteriormente para o método IPort::Init .
MinorTarget
Ponteiro IUnknown para um objeto de fluxo associado ao objeto de miniporto MajorTarget . Esse membro contém o ponteiro do objeto de fluxo que o driver de porta recuperou anteriormente do método IMiniportXxx::NewStream (por exemplo, o parâmetro Stream do método IMiniportWaveCyclic::NewStream).
Node
Especifica uma ID de nó. Esse membro identifica o nó de destino para a solicitação. Se o destino não for um nó, esse membro será definido como ULONG(-1).
EventItem
Ponteiro para a estrutura de PCEVENT_ITEM para esta solicitação
EventEntry
Ponteiro para a estrutura de KSEVENT_ENTRY para esta solicitação
Verb
Especifica o tipo de solicitação de evento. Esse membro deve ser definido como um dos valores na tabela a seguir.
| Valor | Significado |
|---|---|
| PCEVENT_VERB_ADD | Indica que um cliente deseja habilitar o evento especificado. Depois de validar as informações de evento e de destino, a rotina EventHandler adiciona o evento chamando o método IPortEvents::AddEventToEventList . |
| PCEVENT_VERB_REMOVE | Notifica o EventHandler de que um evento está sendo desabilitado e removido da lista. |
| PCEVENT_VERB_SUPPORT | Essa solicitação é uma consulta para obter suporte. Se o driver de miniporto der suporte ao evento para o destino identificado na solicitação, ele deverá ter êxito nessa consulta. Caso contrário, ela deverá falhar na consulta. |
| PCEVENT_VERB_NONE | Nenhuma ação é necessária. |
Irp
Ponteiro para o IRP que contém a solicitação de evento
Observações
Essa é a estrutura que o driver de porta passa para a rotina EventHandler do driver de miniport. A estrutura PCEVENT_ITEM contém um ponteiro de função para um manipulador de eventos que usa um ponteiro PCEVENT_REQUEST como seu único parâmetro de chamada. O driver de porta aloca uma estrutura PCEVENT_REQUEST , extrai as informações relevantes da solicitação de evento original (para a qual o membro irp aponta) e carrega as informações nessa estrutura antes de chamar o manipulador.
No áudio do WDM, o destino de uma solicitação de evento pode ser uma instância de pin, mas não uma instância de filtro. O destino também pode incluir uma ID de nó.
Os membros MajorTarget e MinorTarget são ponteiros IUnknown para o objeto de miniporto principal e um objeto de fluxo associado, respectivamente. O manipulador de eventos pode consultar esses objetos para suas interfaces de miniporto e fluxo.
Por exemplo, se o destino da solicitação de evento for uma instância de pin em um filtro WaveCyclic:
- O manipulador pode chamar QueryInterface na interface IUnknown do objeto MajorTarget para obter uma referência à interface IMiniportWaveCyclic do objeto.
- O manipulador pode chamar QueryInterface na interface IUnknown do objeto MinorTarget para obter uma referência à interface IMiniportWaveCyclicStream do objeto.
Requisitos
| Requisito | Valor |
|---|---|
| cabeçalho | portcls.h (inclua Portcls.h) |