WdmlibIoGetAffinityInterrupt-Funktion (iointex.h)

Die WdmlibIoGetAffinityInterrupt-Funktion ruft die Gruppenaffinität eines Interruptobjekts ab.

Syntax

NTSTATUS WdmlibIoGetAffinityInterrupt(
  [in]  PKINTERRUPT     InterruptObject,
  [out] PGROUP_AFFINITY GroupAffinity
);

Parameter

[in] InterruptObject

Ein Zeiger auf ein Interruptobjekt. Dieser Parameter verweist auf eine KINTERRUPT-Struktur , die eine Registrierung durch einen Treiber zum Empfangen von Geräteunterbrechungen darstellt. Die Struktur ist undurchsichtig. Der Aufrufer hat diesen Zeigerwert in einem vorherigen Aufruf der WdmlibIoConnectInterruptEx - oder IoConnectInterrupt-Routine abgerufen.

[out] GroupAffinity

Ein Zeiger auf einen vom Aufrufer zugewiesenen Puffer, in den die Routine eine GROUP_AFFINITY Struktur schreibt, die die Gruppenaffinität des Interruptobjekts angibt, auf das InterruptObject verweist. Dieser Puffer muss groß genug sein, um die Struktur zu enthalten.

Rückgabewert

WdmlibIoGetAffinityInterrupt gibt STATUS_SUCCESS zurück, wenn der Aufruf erfolgreich ist. Mögliche Fehlerrückgabewerte sind:

Rückgabecode Beschreibung
STATUS_INVALID_PARAMETER
Der InterruptObject-Parameter zeigt nicht auf ein gültiges Interruptobjekt.

Hinweise

Ein Kernelmodustreiber ruft diese Routine auf, um den Satz logischer Prozessoren abzurufen, auf dem die registrierte Interruptdienstroutine (ISR) des Treibers Geräteunterbrechungen empfangen kann. Dieser Satz von Prozessoren wird durch eine GROUP_AFFINITY-Struktur beschrieben, die eine Gruppennummer und eine Affinitätsmaske angibt. Alle Prozessoren, die einer bestimmten ISR-Registrierung zugewiesen sind, müssen derselben Gruppe angehören.

Der Treiber hat den ISR in einem vorherigen Aufruf der WdmlibIoConnectInterruptEx - oder IoConnectInterrupt-Routine registriert.

In Windows 7 weisen WdmlibIoConnectInterruptEx und IoConnectInterrupt Geräteunterbrechungen nur logischen Prozessoren in Gruppe 0 zu. Dies ist die Standardeinstellung. Ein Treiber kann eine andere Interruptaffinität für sein Gerät in einer INF-Datei oder in seiner Antwort auf eine IRP_MN_FILTER_RESOURCE_REQUIREMENTS-Anforderung angeben. Weitere Informationen zum Ändern der Interruptaffinität finden Sie im Whitepaper Unterstützende Systeme mit mehr als 64 Prozessoren auf der WHDC-Website.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in Windows 7 und späteren Windows-Versionen.
Zielplattform Windows
Kopfzeile iointex.h (einschließlich Iointex.h, Wdm.h, Ntddk.h, Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Beliebige Ebene

Weitere Informationen

GROUP_AFFINITY

IRP_MN_FILTER_RESOURCE_REQUIREMENTS

IoConnectInterrupt

KINTERRUPT

WdmlibIoConnectInterruptEx