etw

etw

ETW(Event Tracing for Windows)提供了一种对用户层应用程序和内核层驱动创建的事件对象的跟踪记录机制。为开发者提供了一套快速、可靠、通用的一系列事件跟踪特性。ETW由三部分组成:providers、controllers、consumers,顾名思义分别代表对事件的创建、控制(start、stop、configure)和响应的对象。

ETW(Event Tracing for Windows)提供了一种对用户层应用程序和内核层驱动创建的事件对象的跟踪记录机制。为开发者提供了一套快速、可靠、通用的一系列事件跟踪特性。

ETW

ETW由三部分组成:providers、controllers、consumers,顾名思义分别代表对事件的创建、控制(start、stop、configure)和响应的对象。

ETW API

ETW API为内核组件和驱动开发者提供了一系列函数,开发者可以使用这些函数来注册一个ETW提供者驱动,它可以创建事件并将其发布到Windows Event Log,或者将其写入ETW会话来实现实时投递给响应对象或写入跟踪文件。

NTSTATUS

NTKERNELAPI

EtwActivityIdControl(

__in ULONG ControlCode,

__inout_bcount(sizeof(GUID))LPGUID ActivityId

);

NTSTATUS

NTKERNELAPI

EtwActivityIdControl(

__in ULONG ControlCode,

__inout_bcount(sizeof(GUID))LPGUID ActivityId

);

BOOLEAN

NTKERNELAPI

EtwEventEnabled(

__in REGHANDLE RegHandle,

__in PCEVENT_DESCRIPTOR EventDescriptor

);

BOOLEAN

NTKERNELAPI

EtwProviderEnabled(

__in REGHANDLE RegHandle,

__in UCHAR Level,

__in ULONGLONG Keyword

);

NTSTATUS

NTKERNELAPI

EtwWrite(

__in REGHANDLE RegHandle,

__in PCEVENT_DESCRIPTOR EventDescriptor,

__in_opt LPCGUID ActivityId,

__in ULONG UserDataCount,

__in_opt PEVENT_DATA_DESCRIPTOR UserData

)

......

广告位:底部(ad-bottom)—— 请到中台「公共区块」编辑此内容