驱动程序测试工具

驱动程序测试工具技术的概述。

若要开发驱动程序测试工具,需要以下标头:

有关编程指南,请参阅 驱动程序测试工具

标题 说明
WppRecorderConfigure 宏 WppRecorderConfigure 方法启用或禁用 WPP 打印到的默认日志。
WppRecorderDumpLiveDriverData 宏 WppRecorderDumpLiveDriverData 方法获取与指定的 Inflight 跟踪记录器日志关联的缓冲区。
WppRecorderGetTriageInfo 宏 WppRecorderGetTriageInfo。
WppRecorderLinkCounters 宏 WppRecorderLinkCounters。
WppRecorderLogCreate 宏 WppRecorderLogCreate 方法创建一个缓冲区来包含记录器日志。
WppRecorderLogDelete 宏 WppRecorderLogDelete 方法删除指定的记录器日志。
WppRecorderLogSetIdentifier 宏 WppRecorderLogSetIdentifier 方法为记录器日志设置字符串标识符。

枚举

 
FAULT_INFORMATION_ARCH

定义系统体系结构类型的值。
FAULT_INFORMATION_ARM64_TYPE

定义错误类型的值。
PCW_CALLBACK_TYPE

PCW_CALLBACK_TYPE枚举定义要发送到计数器集注册提供程序的通知类型。 提供程序将指向此枚举的指针作为参数传递给 PcwCallback 函数。
WPP_RECORDER_TRI_STATE

WPP_RECORDER_TRI_STATE枚举类型定义 WPP 用于某些结构成员和函数参数的三个值。

Functions

 
ASSERTMSG

ASSERTMSG 测试表达式。 如果表达式为 false,则它会中断内核调试器并发送指定的消息。
DbgBreakPoint

DbgBreakPoint 例程中断到内核调试器中。
DbgBreakPointWithStatus

DbgBreakPointWithStatus 例程中断到内核调试器中,并将 Status 值发送到调试器。
DbgPrint

DbgPrint 例程向内核调试器发送消息。
DbgPrintEx

如果满足指定的条件,DbgPrintEx 例程会将字符串发送到内核调试器。
DbgPrompt

DbgPrompt 例程在内核调试器的显示设备上显示调用方指定的用户提示字符串,并获取用户响应字符串。
EtwActivityIdControl

EtwActivityIdControl 函数创建、查询和设置当前活动标识符。
ETWENABLECALLBACK

EtwEnableCallback 函数是一个可选的驱动程序提供的回调函数,用于接收启用或禁用通知。
EtwEventEnabled

EtwEventEnabled 函数验证是否启用了事件。
EtwProviderEnabled

EtwProviderEnabled 函数验证是否为指定级别和关键字的事件日志记录启用了提供程序。
EtwRegister

EtwRegister 函数注册事件提供程序,必须在提供程序开始跟踪之前调用。
EtwUnregister

EtwUnregister 函数取消注册事件提供程序,必须在提供程序退出之前调用。
EtwWrite

EtwWrite 函数是用于在内核模式驱动程序代码中发布事件的跟踪函数。
EtwWriteEx

EtwWriteEx 函数是一个跟踪函数,用于发布支持在内核模式驱动程序代码中进行筛选的事件。
EtwWriteString

EventWriteString 函数是一个跟踪函数,当不需要复杂的数据时,可以使用该函数。 此函数类似于调试打印语句。
EtwWriteTransfer

EtwWriteTransfer 函数标记将两个活动链接在一起的事件:此类型的事件称为传输事件。
imp_WppRecorderGetCounterHandle

WppRecorderGetCounterHandle 方法。
imp_WppRecorderIsDefaultLogAvailable

WppRecorderIsDefaultLogAvailable 方法确定默认日志是否可用。
imp_WppRecorderLogGetDefault

WppRecorderLogGetDefault 方法获取默认记录器日志的句柄。
KdBreakPointWithStatus

KdBreakPointWithStatus 宏中断内核调试器,并将状态值发送到调试器。
KdChangeOption

KdChangeOption 例程访问和更改内核中与内核调试相关的状态。
KdDisableDebugger

KdDisableDebugger 例程禁用内核调试器。
KdEnableDebugger

调用 KdDisableDebugger 例程后重新启用内核调试器,从而禁用内核调试器。
KdPrint

KdPrint 宏向内核调试器发送消息。
KdPrintEx

如果满足指定的条件,KdPrintEx 宏会将字符串发送到内核调试器。调用 KdPrintEx 需要双括号。
KdRefreshDebuggerNotPresent

KdRefreshDebuggerNotPresent 宏刷新KD_DEBUGGER_NOT_PRESENT全局内核变量的值。
KeInitializeTriageDumpDataArray

初始化会审转储数据块数组。
PCW_CALLBACK

当使用者执行某些操作(例如添加或删除查询中的计数器)时,提供程序可以实现PCW_CALLBACK函数来接收通知。
PcwAddInstance

PcwAddInstance 函数将计数器集的指定实例添加到使用者缓冲区。
PcwCloseInstance

PcwCloseInstance 函数关闭计数器集的指定实例。
PcwCreateInstance

PcwCreateInstance 函数为指定的已注册计数器集创建一个新实例。
PcwRegister

PcwRegister 函数将调用方注册为指定计数器集的提供程序。
PcwUnregister

PcwUnregister 函数取消注册指定计数器集的提供程序。
RECORDER_CONFIGURE_PARAMS_INIT

RECORDER_CONFIGURE_PARAMS_INIT函数用于初始化RECORDER_CONFIGURE_PARAMS结构。
RECORDER_LOG_CREATE_PARAMS_INIT

RECORDER_LOG_CREATE_PARAMS_INIT函数用于初始化RECORDER_LOG_CREATE_PARAMS结构。
RECORDER_LOG_CREATE_PARAMS_INIT_APPEND_POINTER

RECORDER_LOG_CREATE_PARAMS_INIT_APPEND_POINTER方法使用指向链接日志的指针初始化RECORDER_LOG_CREATE_PARAMS。
SeEtwWriteKMCveEvent

SeEtwWriteKMCveEvent 函数是在内核模式驱动程序中检测到尝试的安全漏洞攻击时发布事件的跟踪函数。
vDbgPrintEx

如果满足某些条件,vDbgPrintEx 例程会将字符串发送到内核调试器。
vDbgPrintExWithPrefix

如果满足指定的某些条件,vDbgPrintExWithPrefix 例程会将字符串发送到内核调试器。 此例程可以将前缀追加到调试器输出,以帮助组织调试结果。
WppRecorderConfigure

了解 WppRecorderConfigure 方法如何启用或禁用 WPP 打印到的默认日志。
WppRecorderDumpLiveDriverData

了解 WppRecorderDumpLiveDriverData 方法如何获取与指定的 Inflight 跟踪记录器日志关联的缓冲区。
WppRecorderGetTriageInfo

了解 WppRecorderGetTriageInfo 方法。
WppRecorderLinkCounters

了解 WppRecorderLinkCounters 方法如何使用序列号合并驱动程序在不同缓冲区中捕获的日志。
WppRecorderLogCreate

了解 WppRecorderLogCreate 方法如何创建缓冲区以包含记录器日志。
WppRecorderLogDelete

了解 WppRecorderLogDelete 方法如何删除指定的记录器日志。
WppRecorderLogDumpLiveData

WppRecorderLogDumpLiveData 方法返回指向日志缓冲区标头和数据不透明的指针,以便它们可以保存在实时故障转储中。
WppRecorderLogSetIdentifier

了解 WppRecorderLogSetIdentifier 方法如何设置记录器日志的字符串标识符。

结构

 
DEBUG_DEVICE_DESCRIPTOR

详细了解:DEBUG_DEVICE_DESCRIPTOR结构
DEBUG_TRANSPORT_DATA

描述用于传输的调试传输特定数据。
FAULT_INFORMATION

包含用于在设备上设置故障报告的信息。
FAULT_INFORMATION_ARM64

包含 ARM64 系统的故障信息。
FAULT_INFORMATION_ARM64_FLAGS

定义错误信息。
KBUGCHECK_CALLBACK_RECORD

详细了解:KBUGCHECK_CALLBACK_RECORD结构
KBUGCHECK_REASON_CALLBACK_RECORD

详细了解:KBUGCHECK_REASON_CALLBACK_RECORD结构
KBUGCHECK_REMOVE_PAGES

描述由KBUGCHECK_REASON_CALLBACK_ROUTINE回调例程从故障转储文件中删除的一个或多个驱动程序提供的数据页。
KBUGCHECK_SECONDARY_DUMP_DATA_EX

详细了解:_KBUGCHECK_SECONDARY_DUMP_DATA_EX结构
KBUGCHECK_TRIAGE_DUMP_DATA

详细了解:_KBUGCHECK_TRIAGE_DUMP_DATA结构
KTRIAGE_DUMP_DATA_ARRAY

详细了解:_KTRIAGE_DUMP_DATA_ARRAY结构
MCG_CAP

详细了解:MCG_CAP结构
PCW_CALLBACK_INFORMATION

PCW_CALLBACK_INFORMATION联合提供有关要发送的通知的详细信息。 提供程序将指向此联合的指针作为参数传递给 PcwCallback 函数。
PCW_COUNTER_DESCRIPTOR

PCW_COUNTER_DESCRIPTOR结构提供有关要发送的通知的详细信息。
PCW_COUNTER_INFORMATION

PCW_COUNTER_INFORMATION结构描述标识计数器集的特定实例的属性。
PCW_DATA

PCW_DATA结构描述与实例关联的数据块数组。
PCW_MASK_INFORMATION

PCW_MASK_INFORMATION结构提供有关要发送到提供程序的通知的详细信息。 此信息作为 Info 参数的一部分传递给 PcwCallback 函数。 此掩码信息包含在PCW_CALLBACK_INFORMATION中。
PCW_REGISTRATION_INFORMATION

PCW_REGISTRATION_INFORMATION结构提供有关提供程序和计数器集的详细信息。
RECORDER_CONFIGURE_PARAMS

RECORDER_CONFIGURE_PARAMS结构是 WppRecorderConfigure 方法的输入参数,用于启用或禁用 WPP 打印到的默认日志。
RECORDER_LOG_CREATE_PARAMS

RECORDER_LOG_CREATE_PARAMS结构是 WppRecorderLogCreate 方法的输入参数。
WPP_TRIAGE_INFO

用于查找用于 WER 报告的 WPP 日志。