CWTTLogger::UserDefinedTrace

The UserDefinedTrace method logs trace data by using a user-defined trace level.

HRESULT UserDefinedTrace (
  LPCWSTR  pcwszUserLevel,
  LONG  hDevice,
  DWORD  dwBaseLevel,
  DWORD  dwPriority,
  ...
);

Parameters

pcwszUserLevel

[in] A user-defined trace level.

hDevice

[in] A handle to the device tracing topology. You can combine multiple handles by using the bitwise OR operator (for example, hDevice1 OR hDevice2).

dwBaseLevel

[in] The base trace level. This parameter should be one of the following values:

  • WTT_LVL_MSG
    Trace a user-define message. This trace is the most commonly used trace. If all traces within the context of a particular test case are messages, function entry, function exit, TCM information, or machine information, the test case will pass.
  • WTT_LVL_ERR
    Trace an error. This trace causes the logger (in the user mode) to fail a test case unless a bug trace is logged or the user declares the test case as skipped.
  • WTT_LVL_ASSERT
    Trace an assertion. This trace causes the logger (in the user mode) to fail a test case unless a bug trace is logged or the user declares the test case as skipped.
  • WTT_LVL_INVALID_PARAM
    Trace an invalid parameter. This trace causes the logger (in the user mode) to fail a test case unless a bug trace is logged or the user declares the test case as skipped.
  • WTT_LVL_BUG
    Trace a known bug. This trace causes the logger (in the user mode) to log a test case as blocked, unless the user declares the test case as skipped.
  • WTT_LVL_BREAK
    Trace a debug break. This trace causes the logger (in the user mode) to fail a test case unless a bug trace is logged or the user declares the test case as skipped.
  • WTT_LVL_WARN
    Trace a warning message. This trace causes the logger (in the user mode) to log the test case as warned, unless an error or bug trace is logged or the user declares the test case as skipped.
  • WTT_LVL_FUNCTION_ENTRY
    Trace the function entry point. This trace does not affect the test case result.
  • WTT_LVL_FUNCTION_EXIT
    Trace the function exit point. This trace does not affect the test case result.
  • WTT_LVL_START_TEST
    Trace the start of a test case. This trace marks the beginning of a test case and sets a new context whose name is the current test case name. However, you should call the StartTest method instead of using this level.
  • WTT_LVL_END_TEST
    Trace the end of a test case. This trace marks the end of a test case and clears a new context whose name is the current test case name. It also updates the internal pass-fail counter according to the pass-fail mode and the previous traces. However, you should call the EndTest method instead of using this level.
  • WTT_LVL_TCMINFO
    Sets the Tactics fields. This value does not affect the test case result.
  • WTT_LVL_MACHINEINFO
    Sets machine-related test case fields for Tactics. This value does not affect the test case result
  • WTT_LVL_ROLLUP
    Trace the test suite roll-up information. If the pass-fail mode is set to user, your plug-in must provide its own pass-fail count. Otherwise, DTM Logger will overwrite the counters that the user provides and use its internal counts. However, this value does not cause DTM to perform a rollup operation.

dwPriority

...

[in] One or more optional arguments that depend on the trace level that is specified in the dwBaseLevel parameter. For information about the arguments that are required for each trace level, see Trace Level.

Return Value

UserDefinedTrace returns one of the following values:

  • S_OK
    The operation was successful.
  • S_FALSE
    The operation was successful but the last device has been detached, which has triggered a rollup.
  • HRESULT
    The operation failed. You should use the FAILED macro to check HRESULT values.

Comments

To trace user-defined trace levels in the log, you must first enable them. You enable custom trace levels on a device by using a device string, such as "$LogFile:EnableLvl=MyTrace".

Requirements

Headers: Wttlogger.h

Library: WTTLog.dll

See Also

CWTTLogger Class (C++), CWTTLogger::Trace, CWTTLogger::UserDefinedTraceV, CWTTLogger::UserDefinedTraceEx

Send feedback on this topic
Built on December 10, 2009