Freigeben über


IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS-Struktur (wdm.h)

Die IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS-Struktur enthält den Verbindungskontext für eine registrierte Interruptdienstroutine (ISR), die durch einen vorherigen Aufruf der IoConnectInterruptEx-Routine mit einem Interrupt oder Interrupt verbunden wurde.

Syntax

typedef struct _IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS {
  ULONG Version;
  union {
    PVOID                      Generic;
    PKINTERRUPT                InterruptObject;
    PIO_INTERRUPT_MESSAGE_INFO InterruptMessageTable;
  } ConnectionContext;
} IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS, *PIO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS;

Member

Version

Der von dieser Struktur beschriebene Interruptverbindungstyp. Dieser Member muss mit dem Verbindungstyp übereinstimmen, den der Aufrufer aus dem IoConnectInterruptEx-Aufruf abgerufen hat , der den Interrupt verbunden hat. Die folgenden Werte gelten für dieses Element:

  • CONNECT_FULLY_SPECIFIED
  • CONNECT_LINE_BASED
  • CONNECT_MESSAGE_BASED
  • CONNECT_FULLY_SPECIFIED_GROUP
Weitere Informationen finden Sie in den Hinweisen.

ConnectionContext

Eine Union, die den dem Interrupt zugeordneten Verbindungskontext enthält. Jedes Union-Element ist ein Zeiger auf einen Verbindungskontext eines bestimmten Typs. Wenn Version = CONNECT_MESSAGE_BASED, enthält das InterruptMessageTable-Element dieser Union einen Zeiger auf eine IO_INTERRUPT_MESSAGE_INFO-Struktur . Für alle anderen Versionswerte enthält das InterruptObject-Element dieser Union einen Zeiger auf eine KINTERRUPT-Struktur . Verwenden Sie das generische Element dieser Union, um den Verbindungskontextzeiger als PVOID-Wert zu behandeln (und eine Umwandlung zu vermeiden).

Weitere Informationen finden Sie in den Hinweisen.

ConnectionContext.Generic

Ein PVOID-Zeiger auf einen Verbindungskontext.

ConnectionContext.InterruptObject

Ein Zeiger auf einen Verbindungskontext vom Typ KINTERRUPT.

ConnectionContext.InterruptMessageTable

Ein Zeiger auf einen Verbindungskontext vom Typ IO_INTERRUPT_MESSAGE_INFO.

Hinweise

Diese Struktur wird als Parameter für die Routinen IoReportInterruptActive und IoReportInterruptInactive bereitgestellt.

Das Version-Element gibt den Typ des Verbindungskontexts an, der im ConnectionContext-Element angegeben ist. Legen Sie dieses Element auf den Parameter-Version-Wert> fest, der vom IoConnectInterruptEx-Aufruf abgerufen wurde, der den Interrupt verbunden hat.

Wenn der von IoConnectInterruptEx abgerufene Parameter-Version-Wert> CONNECT_FULLY_SPECIFIED oder CONNECT_FULLY_SPECIFIED_GROUP ist, legen Sie den ConnectionContext.InterruptObject-Member der IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS-Struktur auf den Zeigerwert *(Parameters-FullySpecified.InterruptObject>) fest, der von IoConnectInterruptEx abgerufen wird.

Wenn der von IoConnectInterruptEx abgerufene Parameter-Version-Wert> CONNECT_MESSAGE_BASED ist, legen Sie den ConnectionContext.InterruptMessageTable-Member der IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS-Struktur auf den Zeigerwert *(Parameters-MessageBased.ConnectionContext.InterruptMessageTable>) fest, der von IoConnectInterruptEx abgerufen wird.

Wenn der von IoConnectInterruptEx abgerufene Parameter-Version-Wert> CONNECT_LINE_BASED ist, der Aufrufer Parameters-Version> jedoch zunächst auf CONNECT_MESSAGE_BASED festgelegt hat, legen Sie das ConnectionContext.InterruptObject-Element der IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS-Struktur auf den Zeigerwert *(Parameters-MessageBased.ConnectionContext.InterruptObject>) fest, der von abgerufen wird.IoConnectInterruptEx.

Wenn der von IoConnectInterruptEx abgerufene Parameter-Version-Wert> CONNECT_LINE_BASED ist und der AufruferParameters-Version> zunächst auf CONNECT_LINE_BASED festgelegt hat, legen Sie das ConnectionContext.InterruptObject-Element der IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS Struktur auf den Zeigerwert *(Parameters-LineBased.InterruptObject>) fest, der von IoConnectInterruptEx abgerufen wird.

Anforderungen

Anforderung Wert
Header wdm.h (einschließen von Wdm.h)

Weitere Informationen

IoConnectInterruptEx

IoReportInterruptActive

IoReportInterruptInactive