PCI Express (PCIe) 总线无法表示容器 ID。 Windows作系统依赖于 PCI 总线驱动程序在确定 PCIe 设备的设备容器分组时返回的可移动功能。
PCI 总线驱动程序通过读取以下 PCIe 寄存器位来确定 PCIe 设备是可移动的。
| PCIe 寄存器 | 字节偏移量 | 位位置 | DESCRIPTION |
|---|---|---|---|
PCI Express 功能 |
0x02 |
8 - 插槽已实现 |
设置为 1 时,此位值指示与此端口关联的 PCIe 链接已连接到物理槽,而不是连接到集成组件。 |
插槽能力 |
0x14 |
6 - 支持 Hot-Plug |
设置为 1 时,此位值指示该插槽可以支持热插拔操作。 |
如果满足以下两个条件,PCI 总线驱动程序会将 PCIe 设备标记为可移动:
槽实现位设置为 1。
热位Plug-Capable 被设置为 1:
用于设置这些寄存器位的机制因 PCIe 芯片集版本和制造商而异。 例如,某些芯片集允许固件对这些位进行编程,而其他芯片集则要求将物理引脚连接到电压电荷连接(Vcc)或接地(GND)。
请注意,如果设备在 ACPI 命名空间中实现_EJ0方法,ACPI 驱动程序会将设备标记为可移动。 无论槽实现或 Hot-Plug 支持位的设置如何,都会发生这种情况。 有关详细信息,请参阅 PCI Express Hot-Plug 和 Windows 白皮书的固件支持 。
有关 PCIe 接口的详细信息,请参阅 PCIe 基 规范。