NT 커널 로거 상수
다음 상수를 사용하여 NT 커널 로거 세션을 식별합니다.
상수 | 설명 |
---|---|
SystemTraceControlGuid | NT 커널 로거 이벤트 추적 세션에 대한 컨트롤 GUID입니다. |
KERNEL_LOGGER_NAME | NT 커널 로거 이벤트 추적 세션의 이름입니다. |
NT 커널 로거 세션은 커널 이벤트 공급자의 이벤트를 수락할 수 있는 유일한 세션입니다. NT 커널 로거 세션은 다른 공급자의 이벤트를 허용하지 않습니다. 다른 공급자의 커널 이벤트 및 이벤트를 캡처하려면 별도의 두 세션을 사용해야 하며 소비자는 로그 파일의 이벤트를 병합하여 엔드 투 엔드 결과를 제공해야 합니다.
ETW는 DEFINE_GUID 매크로를 사용하여 GUID를 정의합니다. 코드에서 SystemTraceControlGuid 를 사용하려면 Evntrace.h를 포함하기 전에 #define INITGUID를 포함해야 합니다. 그런 다음 컴파일러는 DEFINE_GUID 상수 GUID로 바뀝니다.
다음 값은 NT 커널 로거 세션에서 추적할 수 있는 커널 이벤트에 대해 가능한 클래스 GUID를 정의합니다. SetTraceCallback 함수에 클래스 GUID를 전달하여 각 이벤트 클래스에 대한 특수 처리를 설정할 수 있습니다.
클래스 | GUID |
---|---|
Alpc |
|
DiskIo |
|
HWConfig 및 SystemConfig |
|
Fileio |
|
이미지 |
|
PageFault_V2 |
|
PerfInfo |
|
프로세스 |
|
레지스트리 |
|
SplitIo |
|
Tcpip |
|
스레드 |
|
UdpIp |
|
설명
GUID를 사용하려면 사용할 GUID 정의를 소스 코드에 복사합니다. 소스 코드에 포함하는 정의 앞에 #define INITGUID를 포함해야 하므로 컴파일러는 DEFINE_GUID 상수 GUID로 바꿉니다. 예를 들면 다음과 같습니다.
#define INITGUID
DEFINE_GUID ( /* 3d6fa8d1-fe05-11d0-9dda-00c04fd7ba7c */
ThreadGuid,
0x3d6fa8d1,
0xfe05,
0x11d0,
0x9d, 0xda, 0x00, 0xc0, 0x4f, 0xd7, 0xba, 0x7c
);
DEFINE_GUID ( /* 3d6fa8d0-fe05-11d0-9dda-00c04fd7ba7c */
ProcessGuid,
0x3d6fa8d0,
0xfe05,
0x11d0,
0x9d, 0xda, 0x00, 0xc0, 0x4f, 0xd7, 0xba, 0x7c
);
또는 GUID 정의에 대한 상수 GUID를 직접 정의할 수 있습니다. 예를 들면 다음과 같습니다.
static const GUID ThreadGuid =
{ 0x3d6fa8d0, 0xfe05, 0x11d0, { 0x9d, 0xda, 0x00, 0xc0, 0x4f, 0xd7, 0xba, 0x7c } };