提供的 WDTF 简易 I/O 插件

简单的 I/O 插件是实现通用特定于设备的 I/O 功能的 Windows 驱动程序测试框架(WDTF)的扩展。 如果存在针对所测试设备类型的插件,设备基础测试 将使用 WDTF 简单 I/O 接口来测试 I/O。

本主题列出了具有简单 I/O 插件的设备类型,并指示是否有测试设备的特定要求。 使用 Windows 硬件实验室工具包(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)查看合并的跟踪文件。

蓝牙

蓝牙要求

  • 没有特殊要求。

I/O 插件的类型(蓝牙)执行的功能

CDROM

CDROM 要求

  • 分配驱动器号。
  • 媒体存在于设备中。
  • 插入的介质上有文件。

I/O 插件的类型和功能 (光盘驱动器)

  • 查找 CD-ROM 上的文件,并使用 Win32 ReadFile API 执行读取作。

如何分类处理测试失败(CDROM)

  • 在测试计算机上,导航到有问题的 CD/DVD 驱动器,并确认可以访问驱动器的内容。
  • CD-Rom 简单 I/O 插件在 CD/DVD 上搜索用于读取操作的文件。 确保 CD/DVD 在磁盘上编码文件。
  • 此简单 I/O 插件使用 Win32 CreateFileWriteFileReadFile 函数。 返回的错误很可能是来自这些 API 的 Win32 错误代码。

Disk

磁盘要求

  • 至少分配了一个关联的卷驱动器号。

执行的 I/O 插件类型(磁盘)

  • 使用简单 I/O 插件。

显示

显示要求

  • 测试没有特殊要求。

I/O 插件的类型执行显示功能

  • 使用 D3DX API 对图形适配器进行测试。

如何对测试失败进行分类和优先排序(显示)

  • 查看测试日志,其中报告了所使用的 API 中的故障。

GPS 设备(和系统中的 GPS 设备)

要求(GPS)

  • 必须在具有适当 GPS 信号的位置测试设备。

I/O 插件类型的功能(如 GPS)

局域网

要求(LAN)

  • 设备具有 IPv6 地址。

  • 设备具有 IPv6 网关地址(否则,应使用测试 NIC 可以 ping 的 IPv6 地址将 WDTFREMOTESYSTEM 参数传递给测试)。

  • 设备的网络操作状态为 IfOperStatusUp。

  • 网络设备不是 WWAN 或 WLAN 设备。

执行LAN的I/O插件类型

  • 对 IPv6 网络网关地址执行 ping 操作。

如何对测试失败进行分类处理(局域网)

  • 确认存在现有的 IP 地址。
  • 确认是否存在网关 IPv6 IP 地址。
  • 手动确认 IP 网关地址(使用 ping.exe)。

移动宽带

要求(移动宽带)

  • 测试没有特殊要求。

执行(移动宽带)的 I/O 插件类型

如何对测试失败进行分类处理(移动宽带)

  • MobileBroadbandPlugin 在有限的区域内可能会出现故障。

    • MobileBroadbandPlugin:获取所有移动宽带接口的过程返回失败。
    • MobileBroadbandPlugin:获取接口时出现失败。
    • “MobileBroadbandPlugin:获取返回的 DeviceId。”
    • “MobileBroadbandPlugin:获取接口功能时返回失败”
    • “MobileBroadbandPlugin:获取 ReadyState 返回失败。
  • 调查故障的最佳方法是从设备出发,确定它是否无法指示就绪状态信息或设备功能细节。 若要进一步调试,需要收集 OS 跟踪文件。

    • 运行命令: netsh trace start wwan_dbg
    • 重现问题。
    • 运行命令:netsh trace stop

便携式设备

要求 (便携式设备)

  • 设备具有存储组件,可在其中创建文件夹和文件。

I/O 插件的类型执行(可移植设备)

  • 使用 WPD API 读取文件并将其写入 WPD 设备上的存储组件。

智能卡读卡器

要求(智能卡读卡器)

  • 设备插入了 Athena T0 测试卡。

I/O 插件的类型执行 (智能卡读卡器)

  • 读取数据并将其写入插入到读卡器中的 Athena T0 卡。

传感器

要求(传感器)

  • 必须在具有适当 GPS 信号的位置测试 GPS 设备。

音量

要求(容量)

  • 卷分配有驱动器号。
  • 卷具有 5MB 的可用空间。
  • 卷不受写入保护。
  • 媒体存在于设备中。

I/O 插件类型的功能(音量)

  • 创建名为WDTF_Volume_IO的目录,并创建名为SimpleIO.tmp的文件。 I/O 通过调用 ReadFileWriteFile API 来执行此文件。

如何对测试失败进行会审(卷)

  • 在测试计算机上,导航到有问题的驱动器,并确认可以访问驱动器的内容。
  • 尝试将文件保存到驱动器。 确保你可以随时保存和访问它。
  • 此简单 I/O 插件使用 Win32 CreateFileWriteFileReadFile 函数。 返回的错误很可能是来自这些 API 的 Win32 错误代码。

网络摄像头

要求(网络摄像头)

  • 测试没有特殊要求。

    注释

    网络摄像头设备的简单 I/O 插件依赖于 MFPlat.dll 文件,该文件在不包含媒体播放器和相关技术的 Windows 版本(例如 Windows 7 N 或 Windows 7 KN)上不可用。 在这些版本的 Windows 上,必须安装媒体功能包。 媒体功能包可供下载。 有关详细信息,请参阅 知识库文章968211

I/O 插件的类型执行 (网络摄像头)

  • 使用 Media Foundation 接口捕获视频。

WLAN

要求(WLAN)

执行的 I/O 插件类型 (WLAN)

如何对测试失败进行会审(WLAN)

具有 Mutt 的 USB 控制器和集线器

要求(USB)

  • 测试没有特殊要求。

    设备具有符号链接。

I/O 插件的类型执行 (USB)

  • 使用 Microsoft USB 测试工具 (MUTT) 设备的 USB 传输测试。 涵盖的传输类型包括控制、批量、时序、中断和流(仅当 SuperMUTT 插入 USB 3.0 控制器时)

如何对测试失败进行分类(USB)

具有特定设备配置要求的设备基础测试

在运行以下 设备基础测试之前,测试计算机上的设备必须按照本主题中所述的特定设备类型的要求进行配置。

  • PCI 根端口意外移除测试(仅限 PCI 设备)
  • 设备路径测试器(认证)
  • 睡眠与即插即用(禁用和启用)以及输入输出之前和之后(认证)
  • 即插即用驱动程序测试(认证)
  • 并发硬件和操作系统(CHAOS)测试(认证)
  • 在之前和之后使用 IO 重新安装 (认证)
  • 设备安装检查文件系统一致性(认证)
  • 设备安装检查以验证其他设备的稳定性(认证)

设备基础知识测试

如何使用 Visual Studio 在运行时测试驱动程序

如何通过命令提示符在运行时测试驱动程序

如何选择和配置设备基础测试