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.) |