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:
- El controlador puede llamar a QueryInterface en la interfaz IUnknown del objeto MajorTarget para obtener una referencia a la interfaz IMiniportWaveCíclica del objeto.
- El controlador puede llamar a QueryInterface en la interfaz IUnknown del objeto MinorTarget para obtener una referencia a la interfaz IMiniportWaveStream del objeto.
Requisitos
Requisito | Valor |
---|---|
Header | portcls.h (incluir Portcls.h) |