DF - 模糊零长度缓冲区 IOCTL 测试(可靠性)
在零长度缓冲区测试期间,模糊测试会发出一系列对 DeviceIoControl 函数的调用,其中的输入和/或输出缓冲区长度为 0。 该测试通过使用不同的函数代码、设备类型、数据传输方法和访问要求,生成不同的 I/O 控制代码。 有关 I/O 控制代码的内容的信息,请参阅定义 I/O 控制代码。
为了测试驱动程序对无效缓冲区指针的处理,这些用户模式调用中的缓冲区指针指定内核虚拟地址空间中的高位地址,例如 0xFFFFFC00)。
模糊测试对基本和其他开放性测试期间打开的所有设备执行零长度缓冲区测试。 可以通过以下方式自定义此测试:使用 MinFunctionCode 和 MaxFunctionCode 命令参数指定调用中使用的 IOCTL 函数代码的范围,并使用 MinDeviceType 和 MaxDeviceType 指定在调用中使用的设备类型的范围。
- 测试二进制文件:Devfund_FuzzTest.dll
- 测试方法:DoZeroLengthBufferIOCTLTest
测试详细信息
规范 |
|
平台 |
|
支持的版本 |
|
预计运行时间(以分钟为单位) | 15 |
类别 | 方案 |
超时(以分钟为单位) | 180 |
需要重启 | false |
需要特殊配置 | 是 |
类型 | automatic |
其他文档
此功能区域中的测试可能会有其他文档,包括先决条件、设置和故障排除信息,这些内容可在以下主题中找到:
运行测试
在运行测试之前,请按照如下测试要求中所述完成测试设置:Device.Fundamentals 可靠性测试先决条件。
故障排除
有关 HLK 测试失败的常规故障排除,请参阅排查 Windows HLK 测试失败问题。
有关 HLK 和 WDK 中特定于设备基础功能测试的故障排除信息,请参阅 Device.DevFund 附加文档。
更多信息
参数
参数名称 | 参数说明 |
---|---|
DQ | 一个 WDTF SDEL 查询,用于标识目标设备 - https://go.microsoft.com/fwlink/?LinkId=232678 |
Wpa2PskAesSsid | 只有当 DUT 或它的一个子设备是 WiFi 适配器时才需要。 请提供测试可用其测试 WiFi 适配器的 WPA2 AES WiFi 网络 SSID。 默认值为“kitstestssid”。 |
Wpa2PskPassword | 只有当 DUT 或它的一个子设备是 WiFi 适配器时才需要。 请提供由使用 Wpa2PskAesSsid 参数指定的 WPA2 AES WiFi 网络的密码。 默认值为“password”。 |
ChangeBufferProtectionFlags | True 或 False。 更改传递至已测试设备的缓冲区的内存保护标志。 此内存保护标志在无访问权限、只读和具有页防护的只读之间变化。 |
Impersonate | True 或 False。 以非管理用户身份运行测试。 |
FillZeroPageWithNull | True 或 False。 映射零页并使用 NULL 值进行填充。 此测试确定在取消指针引用之前未验证指针引用的驱动程序。 |
DoPoolCheck | True 或 False。 通过使用池标记和旁视列表监控驱动程序对分页和非分页系统内存池的使用情况。 此选项还可监控已处理的异常数量变化,这可能指示在异常处理时出错。 |
DoSync | True 或 False。 此外,还会在 SYNC 模式下打开设备句柄 (FILE_SYNCHRONOUS_IO_ALERT)。 跳过随机读取和写入操作。 |
TestCycles | 测试周期数。 |
DriverVerifierAdditionalDrivers | 应启用驱动程序验证程序的其他驱动程序 |
DriverVerifierExcludedFlags | 可以手动排除以运行测试的驱动程序验证程序标志的占位符 |
WDKDeviceID | 受测设备的设备 ID |
QueryHardwareID | 受测设备的硬件 ID |
WDTFREMOTESYSTEM | 只有当 DUT 或它的一个子设备是没有 IPv6 网关地址的有线 NIC 时,才需要。 如果确定为必需,请提供测试 NIC 可以 ping 以测试网络 I/O 的 IPv6 地址。 例如:fe80::78b6:810:9c12:46cd |
DriverVerifierCustomizeConfiguration | 指定此测试可能需要自动更新驱动程序验证程序设置 |
MinDeviceType | 指定 IOCTL 中的 DeviceType 字段的最小值。 可能的最小值为 0。 使用 -1 进行自动类型检测(首选)。 |
MaxDeviceType | 指定 IOCTL 中的 DeviceType 字段的最大值。 可能的最大值是 65535。 使用 -1 进行自动类型检测(首选)。 |
MinFunctionCode | 指定 IOCTL 中的 FunctionCode 字段的最小值。 可能的最小值为 0。 |
MaxFunctionCode | 指定 IOCTL 中的 FunctionCode 字段的最大值。 可能的最大值是 4095。 |