Condividi tramite


PCEVENT_REQUEST struttura (portcls.h)

La struttura PCEVENT_REQUEST specifica una richiesta di evento.

Sintassi

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;

Members

MajorTarget

Puntatore IUnknown all'oggetto miniport principale. Questo membro contiene il puntatore UnknownMiniport passato in precedenza al metodo IPort::Init .

MinorTarget

Puntatore IUnknown a un oggetto di flusso associato all'oggetto miniport MajorTarget . Questo membro contiene il puntatore a oggetti di flusso recuperato in precedenza dal metodo IMiniportXxx::NewStream, ad esempio il parametro Stream del metodo IMiniportWaveCyclic::NewStream.

Node

Specifica un ID nodo. Questo membro identifica il nodo di destinazione per la richiesta. Se la destinazione non è un nodo, questo membro è impostato su ULONG(-1).

EventItem

Puntatore alla struttura PCEVENT_ITEM per questa richiesta

EventEntry

Puntatore alla struttura KSEVENT_ENTRY per questa richiesta

Verb

Specifica il tipo di richiesta di evento. Questo membro deve essere impostato su uno dei valori della tabella seguente.

Valore Significato
PCEVENT_VERB_ADD Indica che un client vuole abilitare l'evento specificato. Dopo aver convalidato l'evento e le informazioni di destinazione, la routine EventHandler aggiunge l'evento chiamando il metodo IPortEvents::AddEventToEventList .
PCEVENT_VERB_REMOVE Notifica al Gestore eventi che un evento viene disabilitato e rimosso dall'elenco.
PCEVENT_VERB_SUPPORT Questa richiesta è una query per il supporto. Se il driver miniport supporta l'evento per la destinazione identificata nella richiesta, deve eseguire questa query. In caso contrario, deve non riuscire la query.
PCEVENT_VERB_NONE Non è richiesto alcun intervento.

Irp

Puntatore all'IRP contenente la richiesta di evento

Commenti

Si tratta della struttura che il driver della porta passa alla routine EventHandler del driver miniport. La struttura PCEVENT_ITEM contiene un puntatore di funzione a un gestore eventi che accetta un puntatore PCEVENT_REQUEST come solo parametro di chiamata. Il driver di porta alloca una struttura PCEVENT_REQUEST , estrae le informazioni pertinenti dalla richiesta di evento originale (a cui punta il membro Irp ) e carica le informazioni in questa struttura prima di chiamare il gestore.

Nell'audio WDM la destinazione di una richiesta di evento può essere un'istanza di pin ma non un'istanza di filtro. La destinazione può includere anche un ID nodo.

I membri MajorTarget e MinorTarget sono rispettivamente puntatori IUnknown all'oggetto miniport principale e a un oggetto di flusso associato. Il gestore eventi può eseguire query su questi oggetti per le interfacce miniport e stream.

Ad esempio, se la destinazione per la richiesta di evento è un'istanza di pin in un filtro WaveCyclic:

Requisiti

Requisito Valore
Intestazione portcls.h (includere Portcls.h)

Vedi anche

Eventhandler

IPortEvents::AddEventToEventList

KSEVENT_ENTRY

PCEVENT_ITEM

PCFILTER_NODE