DevGen 命令语法

注释

不允许重新分发此工具,不应用于生产方案。

从 Windows 11 版本 22H2 开始,可以在 WDK 的工具文件夹中找到 DevGen.exe。 它允许管理员创建和删除 软件设备和 根枚举设备以进行测试。

若要运行 DevGen,请打开命令提示符窗口(以管理员身份运行)、导航到工具文件夹,并使用以下语法和参数键入命令。

DEVGEN [/add [<…>] | /remove <…>| /?]

指令

/add

创建设备。

DEVGEN /add [/bus <SWD | ROOT>] [/instanceid <instance ID>] 
            [/parent <device instance ID>] [/hardwareid <hardware ID>] 
            [/compatibleid <compatible ID>] [/wait [<timeout in MS>]] 
            [/unplug] [/subtree]

标志:

/bus <SWD | ROOT> - SWD 枚举将在重新启动后断开连接的软件设备。 ROOT 枚举将在重新启动时保留的根设备。 默认情况下会创建软件设备。

/instanceid <instance ID> - 生成设备时要使用的唯一实例 ID。

/parent <device instance ID> - 枚举其下设备的父设备。 仅支持软件设备。 默认情况下,设备在 HTREE\ROOT\0 下枚举。

/hardwareid <hardware ID> - 在生成的设备上设置的硬件 ID。 可以使用此参数多次设置多个硬件 ID。

/compatibleid <compatible ID> - 在生成的设备上设置的兼容 ID。 可以使用此参数多次设置多个兼容 ID。

/wait [<timeout in MS>] - 在等待用户提示或可选超时后立即删除设备。 以毫秒为单位指定的超时。

/unplug - 修改 /wait 参数以允许在不删除的情况下拔出设备。 设备将保留为非现有设备节点。 仅当使用 /wait 参数生成软件设备时有效。

/subtree - 删除整个设备子树,包括任何子设备。

/remove

删除设备实例 ID 指定的设备。 只有使用 DevGen 创建的设备才能使用 DevGen 删除。

DEVGEN /remove <device instance ID> [/subtree]

标志:

/subtree - 删除整个设备子树,包括任何子设备。

软件设备与 Root-Enumerated 设备

默认情况下,DevGen 会创建 软件设备。 软件设备是推荐使用的测试设备,因为它们在重新启动后不会持续存在,并且不会导致系统混乱。 仅在需要系统重启的测试用例中使用根枚举设备。

例子

有关示例,请参阅 DevGen 示例