Freigeben über


PCEVENT_ITEM-Struktur (portcls.h)

Die PCEVENT_ITEM-Struktur wird verwendet, um ein Ereignis zu beschreiben, das von einem bestimmten Filter, Pin oder Knoten unterstützt wird.

Syntax

typedef struct {
  const GUID         *Set;
  ULONG              Id;
  ULONG              Flags;
  PCPFNEVENT_HANDLER Handler;
} PCEVENT_ITEM, *PPCEVENT_ITEM;

Member

Set

Gibt den Ereignissatz an. Dieser Member ist ein Zeiger auf eine GUID, die den Ereignissatz eindeutig identifiziert. Weitere Informationen finden Sie in der Liste der Ereignissatz-GUIDs unter Ereignissätze für Audiotreiber.

Id

Gibt die Ereignis-ID an. Dieses Element identifiziert ein Ereigniselement innerhalb des Ereignissatzes. Wenn der Ereignissatz N-Elemente enthält, sind gültige Ereignis-IDs ganze Zahlen im Bereich von 0 bis N-1.

Flags

Gibt den Typ des Ereignisses an. Dieser Member ist auf einen der folgenden Werte festgelegt:

PCEVENT_ITEM_FLAG_ENABLE

Gibt an, dass die Ereignisbenachrichtigung für diesen Ereignistyp aktiviert werden soll. Der Treiber sollte die Ereignisbenachrichtigung fortsetzen, bis der Client sie explizit deaktiviert.

PCEVENT_ITEM_FLAG_ONESHOT

Gibt an, dass die Ereignisbenachrichtigung nur für das nächste Auftreten dieses Ereignisses aktiviert werden soll. Der Client deaktiviert das Ereignis nicht (und sollte es auch nicht), sobald es aufgetreten ist.

PCEVENT_ITEM_FLAG_BASICSUPPORT

Wenn der Client dieses Flag angibt, gibt der Treiber STATUS_SUCCESS zurück, wenn er das Ereignis unterstützt, und einen Fehlercode, falls dies nicht der Fall ist.

Handler

Zeiger auf die Ereignishandlerroutine des Miniporttreibers. Dieser Member ist ein Funktionszeiger vom Typ PCPFNEVENT_HANDLER, der wie folgt definiert ist:

  typedef NTSTATUS (*PCPFNEVENT_HANDLER)
  (
      IN PPCEVENT_REQUEST  EventRequest
  );

Beim Aufrufen der Handlerroutine übergibt der Aufrufer einen einzelnen Aufrufparameter, bei dem es sich um einen Zeiger auf eine vom Aufrufer zugewiesene PCEVENT_REQUEST-Struktur handelt.

Hinweise

Die PCEVENT_ITEM-Struktur gibt ein bestimmtes Ereigniselement in einer Automatisierungstabelle an. Die PCAUTOMATION_TABLE-Struktur verweist auf ein Array von PCEVENT_ITEM Strukturen.

In WDM-Audio ist das Ziel für eine Ereignisanforderung entweder eine Pin instance oder ein Knoten an einer Pin. Ein Filter instance kann nicht das Ziel einer Ereignisanforderung sein.

Anforderungen

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

Weitere Informationen

PCAUTOMATION_TABLE

PCEVENT_REQUEST