Freigeben über


IPortEvents::GenerateEventList-Methode (portcls.h)

Die GenerateEventList -Methode benachrichtigt Clients über die Liste der Ereigniseinträge des Porttreibers, dass ein bestimmtes Ereignis aufgetreten ist.

Syntax

void GenerateEventList(
  [in, optional] GUID  *Set,
  [in]           ULONG EventId,
  [in]           BOOL  PinEvent,
  [in]           ULONG PinId,
  [in]           BOOL  NodeEvent,
  [in]           ULONG NodeId
);

Parameter

[in, optional] Set

Gibt den Ereignissatz an, zu dem das Ereignis gehört. Dieser Parameter ist ein Zeiger auf eine GUID. Set ist ein optionaler Parameter. Ein Set-Wert von NULL ist ein wilder Karte, der allen Ereignissatz-GUIDs in der Liste entspricht. Andernfalls werden nur Ereigniseinträge mit übereinstimmenden Ereignissatz-GUIDs signalisiert.

[in] EventId

Gibt eine Ereignis-ID an. Dieser Parameter gibt den Index des Ereignisses im Ereignissatz an. Wenn ein Ereignissatz n-Ereignisse enthält, liegen gültige Ereignis-IDs im Bereich von 0 bis n-1. Es werden nur Ereigniseinträge mit übereinstimmenden Ereignis-IDs signalisiert.

[in] PinEvent

Gibt an , ob PinId verwendet werden soll, um zu qualifizieren, welche Ereigniseinträge signalisiert werden sollen. Wenn PinEventFALSE ist, wird PinId als wilder Karte behandelt, der allen Pin-IDs in der Liste entspricht.

[in] PinId

Gibt die Pin-ID des zu signalisierenden Ereignisses an. Wenn PinEventTRUE ist, werden nur Ereigniseinträge mit übereinstimmenden Pin-IDs signalisiert.

[in] NodeEvent

Gibt an , ob NodeId verwendet werden soll, um zu qualifizieren, welche Ereigniseinträge signalisiert werden sollen. Wenn NodeEventFALSE ist, wird NodeId als wilder Karte behandelt, der allen Knoten-IDs in der Liste entspricht.

[in] NodeId

Gibt die Knoten-ID des zu signalisierenden Ereignisses an. Wenn NodeEventTRUE ist, werden nur Ereigniseinträge mit übereinstimmenden Knoten-IDs signalisiert.

Rückgabewert

Keine

Bemerkungen

Diese Methode wird von Miniporttreibern verwendet, um Ereigniseinträge in der Ereignisliste des Porttreibers zu signalisieren. Als Reaktion auf den Miniporttreiber, der diese Methode aufruft, führt der Porttreiber seine Liste der Ereigniseinträge durch und signalisiert alle registrierten Ereigniseinträge, die die in den Aufrufparametern ausgedrückten Kriterien erfüllen.

Aufrufer von GenerateEventList können zwar in jedem IRQL ausgeführt werden, unterliegen jedoch einigen Einschränkungen beim Aufrufen von IRQL > DISPATCH_LEVEL. Insbesondere, wenn die aktuelle Implementierung von GenerateEventList bei IRQL > DISPATCH_LEVEL aufgerufen wird, stellt die Methode einen DPC in die Warteschlange, um die Ereignisliste zu verarbeiten. Dieser DPC enthält den Parameterkontext für einen einzelnen Aufruf. Daher können Signalereignisse gelegentlich übersehen werden, wenn mehrere Aufrufe am IRQL-DISPATCH_LEVEL > erfolgen.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header portcls.h (include Portcls.h)
IRQL Beliebige Ebene. (Siehe Abschnitt Hinweise.)

Weitere Informationen

EventHandler

IPortEvents

IPortEvents::AddEventToEventList