WPD 合规性测试 - 服务

此测试旨在验证 WPD API 级别的 Windows 可移植设备 (WPD) 方案。 此测试中验证的受支持的方案和设备服务在适用于 Windows 的 MTP 设备服务规范中定义。 MTP 设备服务扩展规范定义设备和 MTP 驱动程序之间所需的交互。

测试详细信息

   
规范
  • Device.Portable.Core.DeviceServices
  • Device.Portable.Core.CustomDeviceServices
平台
  • Windows 10,客户端版本 (x86)
  • Windows 10,客户端版本 (x64)
支持的版本
  • Windows 10
  • Windows 10 版本 1511
  • Windows 10 版本 1607
  • Windows 10 版本 1703
  • Windows 10 版本 1709
  • Windows 10 版本 1803
  • Windows 10 版本 1809
  • Windows 10 版本 1903
  • Windows 10 的下一次更新
预计运行时间(以分钟为单位) 2
类别 开发
超时(以分钟为单位) 120
需要重启 false
需要特殊配置 false
类型 automatic

 

其他文档

此功能区域中的测试可能会有其他文档,包括先决条件、设置和故障排除信息,这些内容可在以下主题中找到:

运行测试

在运行测试之前,请按照如下测试要求中所述完成测试设置:Device.Portable 测试先决条件

注意

   如果测试设备提供特定于总线的支持,则可能需要其他硬件。 要确定是否需要其他硬件,请参阅每个特定于总线的测试的说明。

 

故障排除

有关 HLK 测试失败的常规故障排除,请参阅排查 Windows HLK 测试失败问题

有关故障排除信息,请参阅 Device.Portable 测试问题疑难解答

如果设备不支持特定的设备服务,则测试可能会返回“跳过”。 要查看测试详细信息,请查看来自驱动程序测试管理器 (DTM) Studio 中的测试日志。

对此测试进行故障排除时,请注意以下事项:

  • 在手动测试用例选择模式下,此测试支持详细日志记录。 应用程序运行时,在“选项”>“日志记录选项”中,单击“目标:窗口,级别:10”。

  • 如果用于测试用例选择的树中没有可用的测试用例,请确保设备已插入。

更多信息

“Windows 的媒体传输协议 (MTP) 设备服务规范”定义了此测试验证的受支持的方案和设备服务。 MTP 设备服务扩展规范定义设备和 MTP 驱动程序之间所需的交互。 有关详细信息,请参阅 MTP 设备服务扩展规范

合规性测试为“Windows 的 MTP 设备服务规范”定义的每个服务维护一个配置文件。 每个配置文件定义其相应服务的继承服务、属性、格式、格式属性和格式对象属性。 各种测试用例使用配置文件中的设置来验证设备支持的每个服务是否符合 Windows 7 或 Windows 8。 除了本节中的测试用例说明之外,所有字符串(如服务、格式和属性名称)都经过验证,可根据 MTP 设备服务扩展规范编写脚本。

设备服务是可选的。 对于设备支持的所有服务,将运行“WPD 合规性测试 - 所有服务”测试。 此测试用例尝试根据“Windows 的 MTP 设备服务规范”中的定义来验证设备公开的服务。 测试用例从与合规性测试一起打包的配置文件中读取目标服务的定义。 测试用例根据这些预定义的设置验证从设备公开的实际服务特征。

验证服务静态定义

  1. 从目标服务的配置加载服务定义

  2. 验证继承设置

    获取预期的继承设置(NoInheritance、Optional、Required、AtLeastOne)

    获取实际服务继承的服务 (IPortableDeviceServiceCapabilities::GetInheritedServices)

    如果没有服务继承服务,但需要继承

    记录错误并退出

    ENDIFFOR 每个期望的继承服务 (H)

    如果服务继承 H

    保存 H 的 GUID 以供以后使用

    ELSE

    如果需要 H

    记录错误并退出

    ENDIF

    ENDIF

    ENDFOR

  3. 验证服务属性

    生成预期受支持属性的列表

    包括继承的属性(由上面保存的实际继承服务查询)

    对每个预期属性 P

    如果服务不支持 P,但 P 是必需的

    记录致命错误

    继续 FOR

    ENDIF

    根据相应的属性验证 P 的预期属性(见下文)

    WPD_PROPERTY_ATTRIBUTE_NAME

    WPD_PROPERTY_ATTRIBUTE_VARTYPE

    WPD_PROPERTY_ATTRIBUTE_CAN_WRITE

    WPD_PROPERTY_ATTRIBUTE_CAN_READ

    ENDFOR

  4. 验证支持的格式

    生成预期格式的列表

    包括继承的格式(由上面保存的实际继承服务查询)

    对于每个预期格式 F

    如果服务不支持 F,但 F 是必需的

    记录致命错误

    继续 FOR

    ENDIF

    对 F 中的每个预期属性 P

    如果服务不支持 P,但 P 是必需的

    记录致命错误

    继续 FOR

    ENDIF

    根据相应的属性验证 P 的预期属性(见下文)

    WPD_PROPERTY_ATTRIBUTE_NAME

    WPD_PROPERTY_ATTRIBUTE_VARTYPE

    WPD_PROPERTY_ATTRIBUTE_CAN_WRITE

    WPD_PROPERTY_ATTRIBUTE_CAN_READ

  5. 验证服务支持的方法

    生成预期方法的列表

    包括继承的方法(由上面保存的实际继承服务查询)

    对于每个预期格式 M

    如果服务不支持 M,但 M 是必需的

    记录致命错误

    继续 FOR

    ENDIF

    对于 M 中的每个预期参数 P

    如果服务不支持 P,但 P 是必需的

    记录致命错误

    继续 FOR

    ENDIF

    根据相应的属性验证 P 的预期属性(见下文)

    WPD_PARAMETER_ATTRIBUTE_NAME

    WPD_PARAMETER_ATTRIBUTE_VARTYPE

    WPD_PARAMETER_ATTRIBUTE_ORDER

    WPD_PARAMETER_ATTRIBUTE_USAGE

    WPD_PROPERTY_ATTRIBUTE_CAN_READ

命令语法

命令选项 说明

te.exe wpdcompliance.dll /select:"@name='*Service*' and @TestClassification:Type='HCK'"

运行测试。

注意

   有关此测试二进制文件的命令行帮助,请键入 /h。

 

文件列表

文件 位置

WPDCompliance.dll

[TestBinRoot]\NTTEST\MULTIMEDIATEST\wpd\WpdCompliance\wdk\

test.mp3

[TestBinRoot]\NTTEST\MULTIMEDIATEST\wpd\WpdCompliance\Content\Audio\

test.wma

[TestBinRoot]\NTTEST\MULTIMEDIATEST\wpd\WpdCompliance\Content\Audio\

test.html

[TestBinRoot]\NTTEST\MULTIMEDIATEST\wpd\WpdCompliance\Content\Document\

test.txt

[TestBinRoot]\NTTEST\MULTIMEDIATEST\wpd\WpdCompliance\Content\Document\

test.bmp

[TestBinRoot]\NTTEST\MULTIMEDIATEST\wpd\WpdCompliance\Content\Image\

test.GIF

[TestBinRoot]\NTTEST\MULTIMEDIATEST\wpd\WpdCompliance\Content\Image\

test.ico

[TestBinRoot]\NTTEST\MULTIMEDIATEST\wpd\WpdCompliance\Content\Image\

test.jp2

[TestBinRoot]\NTTEST\MULTIMEDIATEST\wpd\WpdCompliance\Content\Image\

test.jpg

[TestBinRoot]\NTTEST\MULTIMEDIATEST\wpd\WpdCompliance\Content\Image\

test.jpx

[TestBinRoot]\NTTEST\MULTIMEDIATEST\wpd\WpdCompliance\Content\Image\

test.png

[TestBinRoot]\NTTEST\MULTIMEDIATEST\wpd\WpdCompliance\Content\Image\

test.tif

[TestBinRoot]\NTTEST\MULTIMEDIATEST\wpd\WpdCompliance\Content\Image\

test.wmv

[TestBinRoot]\NTTEST\MULTIMEDIATEST\wpd\WpdCompliance\Content\Video\

TestFile.avi

[TestBinRoot]\NTTEST\MULTIMEDIATEST\wpd\WpdCompliance\Content\Video\

Devcon.exe

[OSBinRoot]\idw\

CalendarSvcApp.exe

[TestBinRoot]\NTTEST\MULTIMEDIATEST\wpd\WpdCompliance\

ContactsSvcApp.exe

[TestBinRoot]\NTTEST\MULTIMEDIATEST\wpd\WpdCompliance\

ContentTransferApp.exe

[TestBinRoot]\NTTEST\MULTIMEDIATEST\wpd\WpdCompliance\

GeneralSvcApp.exe

[TestBinRoot]\NTTEST\MULTIMEDIATEST\wpd\WpdCompliance\

HintsSvcApp.exe

[TestBinRoot]\NTTEST\MULTIMEDIATEST\wpd\WpdCompliance\

MetadataSvcApp.exe

[TestBinRoot]\NTTEST\MULTIMEDIATEST\wpd\WpdCompliance\

NotesSvcApp.exe

[TestBinRoot]\NTTEST\MULTIMEDIATEST\wpd\WpdCompliance\

RingtoneSvcApp.exe

[TestBinRoot]\NTTEST\MULTIMEDIATEST\wpd\WpdCompliance\

StatusSvcApp.exe

[TestBinRoot]\NTTEST\MULTIMEDIATEST\wpd\WpdCompliance\

TasksSvcApp.exe

[TestBinRoot]\NTTEST\MULTIMEDIATEST\wpd\WpdCompliance\

WpdUploadFile.exe

[TestBinRoot]\NTTEST\MULTIMEDIATEST\wpd\WpdCompliance\

 

参数

参数名称 参数说明
LLU_NetAccessOnly 用于网络访问的 LLU