Share via


IWTTLog::UserDefinedTrace method

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

Syntax

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
    [in] The priority of the trace. This parameter should be one of the following values: WTTLOG_TRACE_PRIORITY_HIGH_CLASSWTTLOG_TRACE_PRIORITY_MEDIUM_CLASSWTTLOG_TRACE_PRIORITY_LOW_CLASSWTTLOG_TRACE_PRIORITY_RESERVED_CLASSWTTLOG_TRACE_PRIORITY_USER_CLASS

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

Return code Description
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.

 

Remarks

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

 

 

Build date: 9/14/2012