Freigeben über


PCEVENT_REQUEST-Struktur (portcls.h)

Die PCEVENT_REQUEST-Struktur gibt eine Ereignisanforderung an.

Syntax

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;

Member

MajorTarget

IUnknown-Zeiger auf das Standard Miniportobjekt. Dieser Member enthält den UnknownMiniport-Zeiger , den der Adaptertreiber zuvor an die IPort::Init-Methode übergeben hat.

MinorTarget

IUnknown-Zeiger auf ein Streamobjekt, das dem MajorTarget-Miniportobjekt zugeordnet ist. Dieser Member enthält den stream-object-Zeiger, den der Porttreiber zuvor von der IMiniportXxx::NewStream-Methode abgerufen hat (z. B. der Stream Parameter der IMiniportWaveCyclic::NewStream-Methode).

Node

Gibt eine Knoten-ID an. Dieser Member identifiziert den Zielknoten für die Anforderung. Wenn das Ziel kein Knoten ist, wird dieser Member auf ULONG(-1) festgelegt.

EventItem

Zeiger auf die PCEVENT_ITEM-Struktur für diese Anforderung

EventEntry

Zeiger auf die KSEVENT_ENTRY-Struktur für diese Anforderung

Verb

Gibt den Typ der Ereignisanforderung an. Dieser Member sollte auf einen der Werte in der folgenden Tabelle festgelegt werden.

Wert Bedeutung
PCEVENT_VERB_ADD Gibt an, dass ein Client das angegebene Ereignis aktivieren möchte. Nach dem Überprüfen der Ereignis- und Zielinformationen fügt die EventHandler-Routine das Ereignis hinzu, indem die IPortEvents::AddEventToEventList-Methode aufgerufen wird.
PCEVENT_VERB_REMOVE Benachrichtigt den EventHandler , dass ein Ereignis deaktiviert und aus der Liste entfernt wird.
PCEVENT_VERB_SUPPORT Diese Anforderung ist eine Abfrage zur Unterstützung. Wenn der Miniporttreiber das Ereignis für das in der Anforderung identifizierte Ziel unterstützt, sollte diese Abfrage erfolgreich sein. Andernfalls sollte die Abfrage fehlschlagen.
PCEVENT_VERB_NONE Es ist keine Aktion erforderlich.

Irp

Zeiger auf den IRP , der die Ereignisanforderung enthält

Hinweise

Dies ist die Struktur, die der Porttreiber an die EventHandler-Routine des Miniporttreibers übergibt. Die PCEVENT_ITEM-Struktur enthält einen Funktionszeiger auf einen Ereignishandler, der einen PCEVENT_REQUEST-Zeiger als einzigen Aufrufparameter verwendet. Der Porttreiber ordnet eine PCEVENT_REQUEST-Struktur zu, extrahiert die relevanten Informationen aus der ursprünglichen Ereignisanforderung (auf die der Irp-Member verweist) und lädt die Informationen in diese Struktur, bevor der Handler aufgerufen wird.

In WDM-Audio kann das Ziel einer Ereignisanforderung eine Pin instance sein, aber kein Filter instance. Das Ziel kann auch eine Knoten-ID enthalten.

Die Member MajorTarget und MinorTarget sind IUnknown-Zeiger auf das Standard Miniportobjekt bzw. ein zugeordnetes Streamobjekt. Der Ereignishandler kann diese Objekte für ihre Miniport- und Streamschnittstellen abfragen.

Wenn das Ziel für die Ereignisanforderung beispielsweise eine Pin instance für einen WaveCyclic-Filter ist:

Anforderungen

Anforderung Wert
Header portcls.h (portcls.h einschließen)

Weitere Informationen

EventHandler

IPortEvents::AddEventToEventList

KSEVENT_ENTRY

PCEVENT_ITEM

PCFILTER_NODE