Поделиться через


Средства тестирования драйверов

Общие сведения о технологии средств тестирования драйверов.

Для разработки средств тестирования драйверов вам потребуются следующие заголовки:

Руководство по программированию см. в статье Средства тестирования драйверов.

Макросы

Заголовок Описание
WppRecorderНастройка макроса Метод WppRecorderConfigure включает или отключает журнал по умолчанию, в который выполняется печать WPP.
Макрос WppRecorderDumpLiveDriverData Метод WppRecorderDumpLiveDriverData получает буфер, связанный с указанным журналом inflight trace Recorder.
Макрос WppRecorderGetTriageInfo The WppRecorderGetTriageInfo.
Макрос WppRecorderLinkCounters The WppRecorderLinkCounters.
WppRecorderLogCreate macro Метод 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 использует для некоторых элементов структуры и параметров функции.

Функции

 
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 — это функция трассировки, которую можно использовать, когда сложные данные не требуются. Эта функция аналогична инструкции debug print.
EtwWriteTransfer

Функция EtwWriteTransfer помечает событие, связывающее два действия; Этот тип события называется событием передачи.
imp_WppRecorderGetCounterHandle

Метод WppRecorderGetCounterHandle.
imp_WppRecorderIsDefaultLogAvailable

Метод WppRecorderIsDefaultLogAvailable определяет, доступен ли журнал по умолчанию.
imp_WppRecorderLogGetDefault

Метод WppRecorderLogGetDefault получает дескриптор журнала средства записи по умолчанию.
KdBreakPointWithStatus

Макрос KdBreakPointWithStatus врывается в отладчик ядра и отправляет отладчику значение Status.
KdChangeOption

Подпрограмма KdChangeOption обращается и изменяет состояние в ядре, связанном с отладкой ядра.
KdDisableDebugger

Подпрограмма KdDisableDebugger отключает отладчик ядра.
KdEnableDebugger

Подпрограмма 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 trace recorder.
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_REMOVE_PAGES
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

Используется для поиска журнала WPP для отчетов WER.