提供的 WDTF 简单 I/O 插件
简单 I/O 插件是 Windows 驱动程序测试框架 (WDTF) 的扩展,实现特定于通用设备的 I/O 功能。 如果存在用于所测试设备类型的插件, 则 Device Fundamental 测试 使用 WDTF 简单 I/O 接口来测试 I/O。
本主题列出了具有简单 I/O 插件的设备类型,并指示测试设备是否有特定要求。 这些要求与使用 Windows Hardware Lab Kit (Windows HLK) 时需要遵循的要求相同。 本主题还提供了对测试失败进行故障排除和会审的想法。
如果未列出设备类型,可以创建一个,请参阅 如何使用 WDTF 简单 I/O 操作插件为设备自定义 I/O
有关具有特定要求的设备基础测试的列表,请参阅 具有特定设备配置要求的设备基础测试
音频
要求
设备必须至少有一个 (扬声器、耳机等) 连接的呈现类型终结点。
如果目标音频设备具有 HDMI 视频和音频输出功能,则设备必须连接到支持 HDMI 音频的设备,例如 HDMI 监视器或 A/V 接收器,才能执行音频测试。
I/O 插件的类型执行 (音频)
- 在呈现类型终结点上播放正弦曲。 在捕获类型终结点上捕获音频。
如何对测试失败进行会审
- 查看失败的 HRESULT 以执行初始会审。
- 如果测试未响应,请使用目标计算机上的内核调试器来缩小根本原因的范围。
- 运行跟踪:
- 启动内核跟踪:
xperf.exe -on LOADER+PROC_THREAD+CSWITCH+DISK_IO+HARD_FAULTS+PROFILE+INTERRUPT+NETWORKTRACE+DPC+Latency+POWER -stackwalk ProcessCreate+ProcessDelete+ImageLoad+ImageUnload+ThreadCreate+ThreadDelete+CSwitch+ReadyThread+Profile+DiskFlushInit+FileFlush+RegFlush+HardFault+VirtualAlloc+VirtualFree -BufferSize 1024 -MinBuffers 512 -MaxBuffers 1024 -f Audio_SimpleIo_Kernel.etl
- 启动音频跟踪:
xperf.exe -start AudioSimpleIo -on Microsoft-Windows-Audio+a6a00efd-21f2-4a99-807e-9b3bf1d90285:0xffff:0x3 -BufferSize 1024 -MinBuffers 512 -MaxBuffers 1024 -f Audio_SimpleIo.etl
- 运行测试。
- 停止跟踪:
xperf.exe -stop "NT Kernel Logger" Audio_SimpleIo
- 合并跟踪:
xperf.exe -merge Audio_SimpleIo_Kernel.etl Audio_SimpleIo.etl Audio_SimpleIo _Merged.etl
- 使用 Xperf (xperfview) 查看合并的跟踪文件。
Bluetooth
蓝牙要求
- 无特殊要求。
I/O 插件的类型执行 (蓝牙)
- 使用 BluetoothFindFirstDevice 函数 查找蓝牙设备。
CDROM
CDROM 要求
- 已分配驱动器号。
- 媒体存在于设备中。
- 文件存在于插入的介质上。
I/O 插件的类型执行 (CDROM)
- 查找 CD-ROM 上的文件,并使用 Win32 ReadFile API 执行读取操作。
如何 (CDROM) 对测试失败进行会审
- 在测试计算机上,导航到有问题的 CD/DVD 驱动器,并确认可以访问驱动器的内容。
- CD-Rom 简单 I/O 插件在 CD/DVD 上搜索用于执行读取操作的文件。 确保 CD/DVD 在磁盘上编码了文件。
- 此简单 I/O 插件使用 Win32 CreateFile、 WriteFile、 ReadFile 函数。 返回的错误很可能是来自这些 API 的 Win32 错误代码。
磁盘
磁盘要求
- 磁盘分配了至少一个关联的卷驱动器号。
I/O 插件的类型执行 (磁盘)
- 对 卷使用简单 I/O 插件。
显示
显示要求
- 测试没有特殊要求。
I/O 插件的类型执行 (显示)
- 使用 D3DX API 练习图形适配器。
如何 (显示) 对测试失败进行会审
- 查看测试日志,这些日志报告所使用的 API 中的故障。
系统) 中的 GPS 设备 (和 GPS 设备
要求 (GPS)
- 必须在具有适当 GPS 信号的位置测试设备。
I/O 插件的类型执行 (GPS)
- 使用 传感器的 I/O 插件。
LAN
LAN) (要求
设备具有 IPv6 地址。
设备具有 IPv6 网关地址 (否则 WDTFREMOTESYSTEM 参数应传递到具有 IPv6 地址的测试,测试 NIC 可以 ping) 。
设备的网络操作状态为 IfOperStatusUp。
网络设备不是 WWAN 或 WLAN 设备。
I/O 插件的类型执行 (LAN)
- Ping IPv6 网络网关地址。
如何 (LAN) 对测试失败进行会审
- 确认存在现有 IP 地址。
- 确认存在网关 IPv6 IP 地址。
- 手动确认 IP 网关地址 (使用 ping.exe) 。
移动宽带
移动宽带) (要求
- 测试没有特殊要求。
I/O 插件的类型执行 (移动宽带)
- 使用 IMbnInterface 接口 并调用 GetHomeProvider、 IMbnInterface::GetInterfaceCapability 方法和IMbnInterface::GetReadyState 方法 API 来练习设备。
如何对移动宽带) (测试失败进行会审
MobileBroadbandPlugin 具有可能失败的有限区域。
- “MobileBroadbandPlugin:获取所有移动宽带接口返回失败。”
- “MobileBroadbandPlugin:获取接口返回失败。”
- “MobileBroadbandPlugin:获取返回的 DeviceId。”
- “MobileBroadbandPlugin:获取接口功能返回失败”
- “MobileBroadbandPlugin:获取 ReadyState 返回失败。”
调查故障的最佳位置是从设备开始,并确定它是否无法指示就绪信息或设备功能。 若要进一步调试 OS,需要收集跟踪文件。
- 运行命令: netsh trace start wwan_dbg
- 重现问题。
- 运行命令: netsh trace stop
便携式设备
要求 (便携式设备)
- 设备具有存储组件,可在其中创建文件夹和文件。
I/O 插件类型执行 (可移植设备)
- 使用 WPD API 读取文件并将其写入 WPD 设备上的存储组件。
智能卡读卡器
Smart 卡 读者) (要求
- 设备已插入 Athena T0 测试卡。
I/O 插件的类型执行 (智能卡读取器)
- 将数据读取和写入 Athena T0 卡插入到卡读取器中。
传感器
传感器) (要求
- 必须在具有正确 GPS 信号的位置测试 GPS 设备。
数据量(Volume)
卷) (要求
- 卷已分配驱动器号。
- 卷具有 5MB 的可用空间。
- 卷不受写保护。
- 设备中存在媒体。
I/O 插件的类型执行 (卷)
如何对卷) (测试失败进行会审
- 在测试计算机上,导航到有问题的驱动器,并确认可以访问驱动器的内容。
- 尝试将文件保存到驱动器。 确保可以轻松保存和访问它。
- 此简单 I/O 插头使用 Win32 CreateFile、 WriteFile、 ReadFile 函数。 返回的错误很可能是来自这些 API 的 Win32 错误代码。
摄像头
网络摄像头) (要求
测试没有特殊要求。
注意
网络摄像头设备的简单 I/O 插件依赖于 MFPlat.dll 文件,该文件不适用于不包括媒体播放器和相关技术的 Windows 版本,例如 Windows 7 N 或 Windows 7 KN。 在这些版本的 Windows 上,必须安装媒体功能包。 媒体功能包可供下载。 有关详细信息,请参阅 知识库文章968211。
I/O 插件的类型执行 (网络摄像头)
- 使用 Media Foundation 接口捕获视频。
WLAN
WLAN) (要求
- 请参阅 HCK 文档中的设备 基础知识测试记录的 WLAN SimpleIO 插件故障疑难解答 。
I/O 插件的类型 (WLAN)
- 请参阅 HCK 文档中的设备 基础知识测试记录的 WLAN SimpleIO 插件故障疑难解答 。
如何 (WLAN) 对测试失败进行会审
- 请参阅 HCK 文档中的设备 基础知识测试记录的 WLAN SimpleIO 插件故障疑难解答 。
USB 控制器和集线器与 Mutt
USB) (要求
测试没有特殊要求。
设备具有符号链接。
I/O 插件类型 (USB)
- 使用 Microsoft USB 测试工具 (MUTT) 设备的 USB 传输测试。 仅当 SuperMUTT 插入 USB 3.0 控制器时,涵盖的传输类型为控制、批量、常时等、中断和流 ()
如何 (USB) 对测试失败进行会审
- 首先检查测试日志文件中的消息。
- 通过在 USB 2.0 和 USB 3.0 堆栈上为 Windows (ETW) 启用事件跟踪来进一步调查。
- 有关 USB 2.0,请参阅 Microsoft Windows USB Core 团队博客 - Windows 7 USB 核心堆栈中的 ETW
- 有关 USB 3.0,请参阅 Microsoft Windows USB Core 团队博客 - 如何在 Windows 8 中捕获和读取 USB ETW 跟踪
具有特定设备配置要求的设备基础测试
在运行以下 设备基础测试之前,必须根据本主题中针对特定设备类型的要求配置测试计算机上的设备。
- PCI 根端口意外删除测试 (PCI 设备仅)
- 设备路径练习器测试 (认证)
- 睡眠和 PNP (禁用和启用 IO 之前和之后) (认证)
- 即插即用驱动程序测试 (认证)
- 并发硬件和操作系统 (CHAOS) 测试 (认证)
- 在 (认证) 之前和之后使用 IO 重新安装
- 设备安装检查文件系统一致性 (认证)
- 设备安装检查其他设备稳定性 (认证)