structure IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS (wdm.h)
La structure IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS contient le contexte de connexion d’une routine de service d’interruption inscrite (ISR) qui a été connectée à une interruption ou qui s’interrompt par un appel précédent à la routine IoConnectInterruptEx .
Syntaxe
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;
Membres
Version
Type de connexion d’interruption décrit par cette structure. Ce membre doit correspondre au type de connexion que l’appelant a obtenu à partir de l’appel IoConnectInterruptEx qui a connecté l’interruption. Les valeurs suivantes sont valides pour ce membre :
- CONNECT_FULLY_SPECIFIED
- CONNECT_LINE_BASED
- CONNECT_MESSAGE_BASED
- CONNECT_FULLY_SPECIFIED_GROUP
ConnectionContext
Union qui contient le contexte de connexion associé à l’interruption. Chaque membre de l’union est un pointeur vers un contexte de connexion d’un type particulier. Si Version = CONNECT_MESSAGE_BASED, le membre InterruptMessageTable de cette union contient un pointeur vers une structure IO_INTERRUPT_MESSAGE_INFO . Pour toutes les autres valeurs Version , le membre InterruptObject de cette union contient un pointeur vers une structure KINTERRUPT . Utilisez le membre générique de cette union pour traiter le pointeur de contexte de connexion comme une valeur PVOID (et éviter le casting).
Pour plus d'informations, consultez la section Notes.
ConnectionContext.Generic
Pointeur PVOID vers un contexte de connexion.
ConnectionContext.InterruptObject
Pointeur vers un contexte de connexion de type KINTERRUPT.
ConnectionContext.InterruptMessageTable
Pointeur vers un contexte de connexion de type IO_INTERRUPT_MESSAGE_INFO.
Remarques
Cette structure est fournie en tant que paramètre aux routines IoReportInterruptActive et IoReportInterruptInactive .
Le membre Version indique le type du contexte de connexion spécifié dans le membre ConnectionContext . Définissez ce membre sur la valeur Parameters-Version> obtenue à partir de l’appel IoConnectInterruptEx qui a connecté l’interruption.
Si la valeur Parameters-Version> obtenue à partir d’IoConnectInterruptEx est CONNECT_FULLY_SPECIFIED ou CONNECT_FULLY_SPECIFIED_GROUP, définissez le membre ConnectionContext.InterruptObject de la structure IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS sur la valeur du pointeur *(Parameters-FullySpecified.InterruptObject>) obtenue à partir d’IoConnectInterruptEx.
Si la valeur Parameters-Version> obtenue à partir d’IoConnectInterruptEx est CONNECT_MESSAGE_BASED, définissez le membre ConnectionContext.InterruptMessageTable de la structure IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS sur la valeur du pointeur *(Parameters-MessageBased.ConnectionContext.InterruptMessageTable>) obtenue à partir d’IoConnectInterruptEx.
Si la valeur Parameters-Version> obtenue à partir d’IoConnectInterruptEx est CONNECT_LINE_BASED, mais que l’appelant a initialement défini Parameters-Version> sur CONNECT_MESSAGE_BASED, définissez le membre ConnectionContext.InterruptObject de la structure IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS sur la valeur du pointeur *(Parameters-MessageBased.ConnectionContext.InterruptObject>) obtenue à partir deIoConnectInterruptEx.
Si la valeur Parameters-Version> obtenue à partir d’IoConnectInterruptEx est CONNECT_LINE_BASED et que l’appelant a initialement défini Parameters-Version> sur CONNECT_LINE_BASED, définissez le membre ConnectionContext.InterruptObject de la structure IO_REPORT_INTERRUPT_ACTIVE_STATE_PARAMETERS sur la valeur du pointeur *(Parameters-LineBased.InterruptObject>) obtenue à partird’IoConnectInterruptEx.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | wdm.h (inclure Wdm.h) |