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 Festlegen Werts von NULL- ist eine Wildcard, die 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, befinden sich gültige Ereignis-IDs im Bereich 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 PinEvent-FALSE-ist, wird PinId- als Platzhalter behandelt, der allen Pin-IDs in der Liste entspricht.

[in] PinId

Gibt die Pin-ID des zu signalisierenden Ereignisses an. Wenn PinEvent-TRUEist, 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 NodeEvent-FALSE-ist, wird NodeId- als Platzhalter behandelt, der allen Knoten-IDs in der Liste entspricht.

[in] NodeId

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

Rückgabewert

Nichts

Bemerkungen

Diese Methode wird von Miniporttreibern verwendet, um Ereigniseinträge in der Ereignisliste des Porttreibers zu signalisieren. Als Reaktion auf den miniport-Treiber, der diese Methode aufruft, führt der Porttreiber seine Liste der Ereigniseinträge durch und signalisiert alle registrierten Ereigniseinträge, die den kriterien entsprechen, die durch die Aufrufparameter ausgedrückt werden.

Obwohl Aufrufer von GenerateEventList bei jedem IRQL ausgeführt werden können, unterliegen sie einigen Einschränkungen beim Aufrufen von IRQL-> DISPATCH_LEVEL. Wenn die aktuelle Implementierung von GenerateEventList bei IRQL-> DISPATCH_LEVEL aufgerufen wird, wird durch die Methode ein DPC in die Warteschlange gestellt, um die Ereignisliste zu verarbeiten. Dieser DPC enthält den Parameterkontext für einen einzelnen Aufruf. Daher können Signalereignisse gelegentlich verpasst werden, wenn mehrere Aufrufe an IRQL-> DISPATCH_LEVEL erfolgen.

Anforderungen

Anforderung Wert
Zielplattform- Universal
Header- portcls.h (include Portcls.h)
IRQL- Jede Ebene. (Siehe Abschnitt "Hinweise".)

Siehe auch

EventHandler-

IPortEvents-

IPortEvents::AddEventToEventList