IWTTLog::UserDefinedTrace

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

HRESULT UserDefinedTrace (
  BSTR  bstrUserLevel,  
  LONG  hDevice,
  WTTLOGGER_TRACE_LEVEL  dwBaseLevel,    
  WTTLOGGER_TRACE_PRIORITY  dwPriority,     
  SAFEARRAY(VARIANT)*  psaVarArgs      
);

Parameters

bstrUserLevel

[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:

  • WTTLOG_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.
  • WTTLOG_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.
  • WTTLOG_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.
  • WTTLOG_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.
  • WTTLOG_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.
  • WTTLOG_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.
  • WTTLOG_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.
  • WTTLOG_LVL_FUNCTION_ENTRY
    Trace the function entry point. This trace does not affect the test case result.
  • WTTLOG_LVL_FUNCTION_EXIT
    Trace the function exit point.This trace does not affect the test case result.
  • WTTLOG_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.
  • WTTLOG_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.
  • WTTLOG_LVL_TCMINFO
    Sets the Tactics fields. This value does not affect the test case result.
  • WTTLOG_LVL_MACHINEINFO
    Sets machine-related test case fields for Tactics. This trace does not affect the test case result
  • WTTLOG_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 you provide and use its internal counts. However, this value does not cause DTM to perform a rollup operation.

dwPriority

psaVarArgs

[in] An array of variable arguments (VARARG) as required for the specified trace level. 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

IDL: Log.IDL

Library: WTTLogCM.dll

See Also

IWTTLog Interface, IWTTLog::Trace

Send feedback on this topic
Built on December 10, 2009