Compartir a través de


estructura PCEVENT_REQUEST (portcls.h)

La estructura PCEVENT_REQUEST especifica una solicitud de evento.

Sintaxis

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;

Miembros

MajorTarget

Puntero IUnknown al objeto miniport principal. Este miembro contiene el puntero UnknownMiniport que el controlador del adaptador pasó anteriormente al método IPort::Init .

MinorTarget

Puntero IUnknown a un objeto de secuencia asociado al objeto MajorTarget miniport. Este miembro contiene el puntero de objeto de flujo que el controlador de puerto recuperó anteriormente del método IMiniportXxx::NewStream (por ejemplo, el parámetro Stream del método IMiniportWaveCíclico::NewStream).

Node

Especifica un identificador de nodo. Este miembro identifica el nodo de destino de la solicitud. Si el destino no es un nodo, este miembro se establece en ULONG(-1).

EventItem

Puntero a la estructura PCEVENT_ITEM de esta solicitud

EventEntry

Puntero a la estructura de KSEVENT_ENTRY para esta solicitud

Verb

Especifica el tipo de solicitud de evento. Este miembro debe establecerse en uno de los valores de la tabla siguiente.

Valor Significado
PCEVENT_VERB_ADD Indica que un cliente quiere habilitar el evento especificado. Después de validar el evento y la información de destino, la rutina EventHandler agrega el evento llamando al método IPortEvents::AddEventToEventList .
PCEVENT_VERB_REMOVE Notifica al EventHandler que un evento se está deshabilitando y quitando de la lista.
PCEVENT_VERB_SUPPORT Esta solicitud es una consulta de soporte técnico. Si el controlador de minipuerto admite el evento para el destino identificado en la solicitud, debe realizarse correctamente esta consulta. De lo contrario, debería producir un error en la consulta.
PCEVENT_VERB_NONE No se requiere ninguna acción.

Irp

Puntero al IRP que contiene la solicitud de evento

Comentarios

Esta es la estructura que el controlador de puerto pasa a la rutina EventHandler del controlador de minipuerto. La estructura PCEVENT_ITEM contiene un puntero de función a un controlador de eventos que toma un puntero PCEVENT_REQUEST como su único parámetro de llamada. El controlador de puerto asigna una estructura de PCEVENT_REQUEST , extrae la información pertinente de la solicitud de evento original (a la que apunta el miembro Irp ) y carga la información en esta estructura antes de llamar al controlador.

En el audio WDM, el destino de una solicitud de evento puede ser una instancia de anclaje, pero no una instancia de filtro. El destino también puede incluir un identificador de nodo.

Los miembros MajorTarget y MinorTarget son punteros IUnknown al objeto miniport principal y a un objeto de secuencia asociado, respectivamente. El controlador de eventos puede consultar estos objetos para sus interfaces de minipuerto y secuencia.

Por ejemplo, si el destino de la solicitud de evento es una instancia de anclaje en un filtro WaveCíclico:

Requisitos

Requisito Valor
Header portcls.h (incluir Portcls.h)

Consulte también

EventHandler

IPortEvents::AddEventToEventList

KSEVENT_ENTRY

PCEVENT_ITEM

PCFILTER_NODE