WdmlibIoGetAffinityInterrupt 函数 (iointex.h)

WdmlibIoGetAffinityInterrupt 函数获取中断对象的组相关性。

语法

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

参数

[in] InterruptObject

指向中断对象的指针。 此参数指向一个 KINTERRUPT 结构,该结构表示驱动程序用于接收设备中断的注册。 结构不透明。 调用方在对 WdmlibIoConnectInterruptExIoConnectInterrupt 例程的上一次调用中获取了此指针值。

[out] GroupAffinity

指向调用方分配的缓冲区的指针,该缓冲区将例程写入 GROUP_AFFINITY 结构,该结构指定 InterruptObject 指向的中断对象的组相关性。 此缓冲区必须足够大才能包含结构。

返回值

WdmlibIoGetAffinityInterrupt 如果调用成功,则返回STATUS_SUCCESS。 可能的错误返回值包括:

返回代码 描述
STATUS_INVALID_PARAMETER
InterruptObject 参数不指向有效的中断对象。

言论

内核模式驱动程序调用此例程以获取驱动程序注册的中断服务例程(ISR)可以接收设备中断的逻辑处理器集。 此处理器集由 GROUP_AFFINITY 结构描述,该结构指定组号和地缘掩码。 分配给特定 ISR 注册的所有处理器必须属于同一组。

驱动程序在上一次调用 WdmlibIoConnectInterruptExIoConnectInterrupt 例程中注册了 ISR。

在 Windows 7 中,WdmlibIoConnectInterruptExIoConnectInterrupt 仅将设备中断分配给组 0 中的逻辑处理器。 默认情况下,这是这样。 驱动程序可以在 INF 文件中为其设备指定不同的中断关联,或者在响应 IRP_MN_FILTER_RESOURCE_REQUIREMENTS 请求时指定不同的中断关联。 有关如何更改中断相关性的详细信息,请参阅 WHDC 网站上的具有 64 个以上处理器 白皮书的 支持系统。

要求

要求 价值
最低支持的客户端 在 Windows 7 及更高版本的 Windows 中可用。
目标平台 窗户
标头 iointex.h(包括 Iointex.h、Wdm.h、Ntddk.h、Ntifs.h)
NtosKrnl.lib
DLL NtosKrnl.exe
IRQL 任何级别

另请参阅

GROUP_AFFINITY

IRP_MN_FILTER_RESOURCE_REQUIREMENTS

IoConnectInterrupt

KINTERRUPT

WdmlibIoConnectInterruptEx