Debugging Tools for Windows |
!ioreslist扩展显示一个IO_RESOURCE_REQUIREMENTS_LIST结构。
Windows 2000 | Kdextx86.dll |
Windows XP和之后 | Kdexts.dll |
下面是该扩展输出的示例:
IoResList at 0xe122b768 : Interface 0x5 Bus 0 Slot 0xe
Alternative 0 (Version 1.1)
Preferred Descriptor 0 - Port (0x1) Device Exclusive (0x1)
Flags (0x01) - PORT_IO
0x000100 byte range with alignment 0x000100
1000 - 0x10ff
Alternative Descriptor 1 - Port (0x1) Device Exclusive (0x1)
Flags (0x01) - PORT_IO
0x000100 byte range with alignment 0x000100
0 - 0xffffffff
Descriptor 2 - DevicePrivate (0x81) Device Exclusive (0x1)
Flags (0000) -
Data: : 0x1 0x0 0x0
Preferred Descriptor 3 - Memory (0x3) Device Exclusive (0x1)
Flags (0000) - READ_WRITE
0x001000 byte range with alignment 0x001000
40080000 - 0x40080fff
Alternative Descriptor 4 - Memory (0x3) Device Exclusive (0x1)
Flags (0000) - READ_WRITE
0x001000 byte range with alignment 0x001000
0 - 0xffffffff
Descriptor 5 - DevicePrivate (0x81) Device Exclusive (0x1)
Flags (0000) -
Data: : 0x1 0x1 0x0
Descriptor 6 - Interrupt (0x2) Shared (0x3)
Flags (0000) - LEVEL_SENSITIVE
0xb - 0xb
IO_RESOURCE_REQUIREMENTS_LIST包含这些信息:
有四种类型的资源: I/O、内存、IRQ、DMA。
每个首选设置都有一个"Preferred" 描述符和数个"Alternative"描述符。
资源列表包含下面这些需求:
申请了0x1000 到0x10FF 的范围,但是只要按0x100对齐的话,可以使用从0到0xFFFFFFFF 之间任何0x100 长度的范围,(例如,可以访问0x1100 到0x11FF。)
申请了0x40080000 到0x40080FFF的范围,但是可以使用0到0xFFFFFFFF 之间以0x1000对齐的任何大小为0x1000的范围。
必须使用 IRQ 0xB。
中断和DMA通道是以开始和结束相同的区域的形式。
查看Plug and Play调试获得该扩展命令的应用。IO_RESOURCE_REQUIREMENTS_LIST结构的信息,查看Windows Driver Kit (WDK)文档。