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 中可用。 |
目标平台 | 窗户 |
标头 | iointex.h(包括 Iointex.h、Wdm.h、Ntddk.h、Ntifs.h) |
库 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | 任何级别 |