드라이버 테스트 도구

드라이버 테스트 도구 기술에 대한 개요입니다.

드라이버 테스트 도구를 개발하려면 다음 헤더가 필요합니다.

  • wpprecorder.h

프로그래밍 가이드는 드라이버 테스트 도구참조하세요.

매크로

제목 설명
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가 일부 구조체 멤버 및 함수 매개 변수에 사용하는 세 가지 값을 정의합니다.

기능

 
ASSERTMSG

ASSERTMSG는 식을 테스트합니다. 식이 false이면 커널 디버거에 침입하여 지정된 메시지를 보냅니다.
DbgBreakPoint

DbgBreakPoint 루틴이 커널 디버거로 중단됩니다.
DbgBreakPointWithStatus

DbgBreakPointWithStatus 루틴은 커널 디버거로 연결되고 상태 값을 디버거로 보냅니다.
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 루틴을 호출하면 커널 디버거를 사용하지 않도록 설정한 후 KdEnableDebugger 루틴이 커널 디버거를 다시 사용하도록 설정합니다.
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 구조체는 WPP가 인쇄하는 기본 로그를 사용하거나 사용하지 않도록 설정하는 WppRecorderConfigure 메서드의 입력 매개 변수입니다.
RECORDER_LOG_CREATE_PARAMS

RECORDER_LOG_CREATE_PARAMS 구조체는 WppRecorderLogCreate 메서드에 대한 입력 매개 변수입니다.
WPP_TRIAGE_INFO

WER 보고를 위한 WPP 로그를 찾는 데 사용됩니다.