WPP_INIT_TRACING for Kernel-Mode Drivers
The WPP_INIT_TRACING macro registers the provider GUID and initializes the structures that are needed for software tracing in a kernel-mode driver.
VOID
WPP_INIT_TRACING(
IN PDRIVER_OBJECT DriverObject,
IN OPT PUNICODE_STRING RegistryPath
);
Parameters
DriverObject
A pointer to the driver object that represents the driver. Starting with Windows XP, if the driver is not using Inflight Trace Recorder (IFR), this parameter is not used and can be set to NULL.RegistryPath
A pointer to a Unicode string that specifies the path to the driver's registry key. Starting with Windows XP, if the driver is not using Inflight Trace Recorder (IFR), this parameter is not used and can be set to NULL.
Headers
Defined in a source file's trace message header file. The WPP preprocessor generates the header file and saves in the same directory as the source file.
Comments
A kernel-mode driver must use WPP_INIT_TRACING to activate software tracing. After the driver has activated software tracing, a user can enable and control tracing by using Tracelog.
The driver should only make one call to activate software tracing. Before the driver unloads, it should call WPP_CLEANUP to do the following:
Unregister the provider that was registered by calling WPP_INIT_TRACING.
Deactivate the software tracing.
For an example of how to make a WPP_INIT_TRACING call in a driver, see TraceDrv, a sample driver that was designed for software tracing. The sample is available in the Windows driver samples repository on GitHub.
See also