#pragma once // From DmfTrace.h. // ---------------- // #define WPP_FLAG_LEVEL_LOGGER(flag, level) \ WPP_LEVEL_LOGGER(flag) #define WPP_FLAG_LEVEL_ENABLED(flag, level) \ (WPP_LEVEL_ENABLED(flag) && \ WPP_CONTROL(WPP_BIT_ ## flag).Level >= level) #define WPP_LEVEL_FLAGS_LOGGER(lvl,flags) \ WPP_LEVEL_LOGGER(flags) #define WPP_LEVEL_FLAGS_ENABLED(lvl, flags) \ (WPP_LEVEL_ENABLED(flags) && WPP_CONTROL(WPP_BIT_ ## flags).Level >= lvl) // // This comment block is scanned by the trace preprocessor to define our // Trace function. // // USEPREFIX and USESUFFIX strip all trailing whitespace, so we need to surround // FuncExit messages with brackets // // begin_wpp config // FUNC Trace{FLAG=MYDRIVER_ALL_INFO}(LEVEL, MSG, ...); // FUNC TraceEvents(LEVEL, FLAGS, MSG, ...); // FUNC FuncEntry{LEVEL=TRACE_LEVEL_VERBOSE}(FLAGS); // FUNC FuncEntryArguments{LEVEL=TRACE_LEVEL_VERBOSE}(FLAGS, MSG, ...); // FUNC FuncExit{LEVEL=TRACE_LEVEL_VERBOSE}(FLAGS, MSG, ...); // FUNC FuncExitVoid{LEVEL=TRACE_LEVEL_VERBOSE}(FLAGS); // FUNC TraceError{LEVEL=TRACE_LEVEL_ERROR}(FLAGS, MSG, ...); // FUNC TraceWarning{LEVEL=TRACE_LEVEL_WARNING}(FLAGS, MSG, ...); // FUNC TraceInformation{LEVEL=TRACE_LEVEL_INFORMATION}(FLAGS, MSG, ...); // FUNC TraceVerbose{LEVEL=TRACE_LEVEL_VERBOSE}(FLAGS, MSG, ...); // FUNC FuncExitNoReturn{LEVEL=TRACE_LEVEL_VERBOSE}(FLAGS); // USEPREFIX(FuncEntry, "%!STDPREFIX! [%!FUNC!] --> Entry"); // USEPREFIX(FuncEntryArguments, "%!STDPREFIX! [%!FUNC!] --> Entry <"); // USEPREFIX(FuncExit, "%!STDPREFIX! [%!FUNC!] <-- Exit <"); // USESUFFIX(FuncExit, ">"); // USEPREFIX(FuncExitVoid, "%!STDPREFIX! [%!FUNC!] <-- Exit"); // USEPREFIX(TraceError, "%!STDPREFIX! [%!FUNC!] ERROR:"); // USEPREFIX(TraceWarning, "%!STDPREFIX! [%!FUNC!] WARNING:"); // USEPREFIX(TraceEvents, "%!STDPREFIX! [%!FUNC!] "); // USEPREFIX(TraceInformation, "%!STDPREFIX! [%!FUNC!] "); // USEPREFIX(TraceVerbose, "%!STDPREFIX! [%!FUNC!] "); // USEPREFIX(FuncExitNoReturn, "%!STDPREFIX! [%!FUNC!] <--"); // CUSTOM_TYPE(SMFX_MACHINE_EXCEPTION, ItemEnum(StateMachine_MachineException)); // CUSTOM_TYPE(SMFX_TRANSITION_TYPE, ItemEnum(StateMachine_TransitionType)); // CUSTOM_TYPE(COMPONENT_FIRMWARE_UPDATE_V2_EVENT, ItemEnum(ComponentFirmwareUpdateV2EventId)); // CUSTOM_TYPE(COMPONENT_FIRMWARE_UPDATE_V2_STATE, ItemEnum(ComponentFirmwareUpdateV2StateId)); // end_wpp