WdmlibIoGetAffinityInterrupt 函数 (iointex.h)
WdmlibIoGetAffinityInterrupt 函数获取中断对象的组相关性。
语法
NTSTATUS WdmlibIoGetAffinityInterrupt(
[in] PKINTERRUPT InterruptObject,
[out] PGROUP_AFFINITY GroupAffinity
);
参数
[in] InterruptObject
指向中断对象的指针。 此参数指向一个 KINTERRUPT 结构,该结构表示驱动程序注册以接收设备中断。 结构不透明。 调用方在对 WdmlibIoConnectInterruptEx 或 IoConnectInterrupt 例程的先前调用中获取了此指针值。
[out] GroupAffinity
指向调用方分配的缓冲区的指针,例程在其中写入 GROUP_AFFINITY 结构,该结构指定 InterruptObject 指向的中断对象的组相关性。 此缓冲区必须足够大才能包含 结构。
返回值
如果调用成功,WdmlibIoGetAffinityInterrupt 将返回STATUS_SUCCESS。 可能的错误返回值包括以下内容:
返回代码 | 说明 |
---|---|
|
InterruptObject 参数不指向有效的中断对象。 |
注解
内核模式驱动程序调用此例程以获取驱动程序的注册中断服务例程 (ISR) 可以接收设备中断的逻辑处理器集。 此处理器集由 GROUP_AFFINITY 结构描述,该结构指定组号和关联掩码。 分配给特定 ISR 注册的所有处理器必须属于同一组。
驱动程序在先前调用 WdmlibIoConnectInterruptEx 或 IoConnectInterrupt 例程中注册了 ISR。
在 Windows 7 中, WdmlibIoConnectInterruptEx 和 IoConnectInterrupt 仅将设备中断分配给组 0 中的逻辑处理器。 这是默认设置。 驱动程序可以在 INF 文件或响应 IRP_MN_FILTER_RESOURCE_REQUIREMENTS 请求时为其设备指定不同的中断相关性。 有关如何更改中断相关性的详细信息,请参阅 WHDC 网站上的 支持具有 64 个以上处理器的系统 白皮书。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Windows 7 和更高版本的 Windows 中可用。 |
目标平台 | Windows |
标头 | iointex.h (包括 Iointex.h、Wdm.h、Ntddk.h、Ntifs.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | 任何级别 |