Windows Device Testing Framework (WDTF)

Overview of the Windows Device Testing Framework (WDTF) technology.

To develop Windows Device Testing Framework (WDTF), you need these headers:

  • comtracing.h
  • interruption.h
  • itestresource.h
  • logcontext.h
  • logcontroller.h
  • logtestresults.h
  • preservelasterror.h
  • resourcelist.h
  • runtimeparameters.h
  • screencapture.h
  • te.common.h
  • testdata.h
  • testnotification.h
  • throw.h
  • tracing.h
  • verify.h
  • wdtf.h
  • wdtfedtaction.h
  • wdtfinterfaces.h
  • wdtfinterfacessup.h
  • wdtflogging.h
  • wdtfpnpaction.h
  • wdtfsimulatedbatterysystemaction.h
  • wdtfsystemaction.h
  • wex.common.h
  • wex.logger.h
  • wexassert.h
  • wexdebug.h
  • wexexception.h
  • wexlogtrace.h
  • wexstring.h
  • wextestclass.h
  • wextypes.h
  • wppdefs.h

For the programming guide, see Windows Device Testing Framework (WDTF).

Enumerations

 
TTraceLevel

The TTraceLevel enumeration defines a set of levels for tracing in WDTF. The meaning on each level depends on registry settings for the ITracer interface.

Functions

 
Add

Add a single action to the collection.
Add

Adds a single long number to the collection.
Add

Adds a single number to the collection.
Add

Adds a single string to the collection.
Add

Add a single item to the collection.
Clear

Removes all items from the collection.
Clear

Learn how the method removes all items from the collection.
Close

Closes the device.
ConnectedStandby

Puts the system into Connected Standby state and exits Connected Standby state after the desired time has passed. This method only works on a computer that supports Always On Always Connected (AOAC).
Continue

Continues the I/O.
ContinueAsync

Asynchronously signals the I/O to continue.
Disable

Disables the Enhanced Device Test (EDT) filter driver on the target device.
Disable

Learn how the method disables the Enhanced Device Test (EDT) filter driver on the target device.
DisableDevice

Disables the target device.
DisableDevice

Learn how the method disables the target device.
DisableObjectErrorLogging

Disables object error logging for the action.
DisableObjectErrorLogging

Disable object error logging for all actions in the collection.
DisableObjectErrorLogging

Disables object error logging for all objects.
DisableObjectLogging

Disables object logging for the action.
DisableObjectLogging

Disable object logging for all actions in the collection.
DisableObjectLogging

Disables object logging for all objects.
DisableRealBatteries

Disables real batteries if they are present in the system.
DisableSimulatedBattery

Disables the simulated battery.
EDTCancelRemoveDevice

Sends an IRP_MN_CANCEL_REMOVE_DEVICE event to the target device.
EDTCancelRemoveDevice

Learn how the method sends an IRP_MN_CANCEL_REMOVE_DEVICE event to the target device.
EDTCancelStopDevice

Sends an IRP_MN_CANCEL_STOP_DEVICE event to the target device.
EDTCancelStopDevice

Learn how the method sends an IRP_MN_CANCEL_STOP_DEVICE event to the target device.
EDTSurpriseRemoveDevice

Sends an IRP_MN_SURPRISE_REMOVAL event to the target device.
EDTSurpriseRemoveDevice

Learn how the method sends an IRP_MN_SURPRISE_REMOVAL event to the target device.
EDTTryStopDevice

Attempts to send an IRP_MN_STOP_DEVICE event to the target device.
EDTTryStopDevice

Learn how the method attempts to send an IRP_MN_STOP_DEVICE event to the target device.
EDTTryStopDeviceFailRestart

This method attempts to send an IRP_MN_STOP_DEVICE event to the target device and then fail the subsequent device restart.
EDTTryStopDeviceFailRestart

Learn how the EDTTryStopDeviceFailRestart method attempts to send an IRP_MN_STOP_DEVICE event to the target device and then fail the subsequent device restart.
EDTTryStopDeviceRequestNewResources

Attempts to send an IRP_MN_STOP_DEVICE event to the target device and assign new resources to the target device.
EDTTryStopDeviceRequestNewResources

Learn how the method attempts to send an IRP_MN_STOP_DEVICE event to the target device and assign new resources to the target device.
Enable

Enables the Enhanced Device Test (EDT) filter driver on the target device.
Enable

Learn how the method enables the Enhanced Device Test (EDT) filter driver on the target device.
EnableDevice

Enables the target device.
EnableDevice

Learn how the method enables the target device.
EnableObjectErrorLogging

Enables object error logging for the action.
EnableObjectErrorLogging

Enable object error logging for all actions in the collection.
EnableObjectErrorLogging

Enables object error logging for all objects.
EnableObjectLogging

Enables object logging for the action.
EnableObjectLogging

Enable object logging for all actions in the collection.
EnableObjectLogging

Enables object logging for all objects.
EnableRealBatteries

Enables real batteries if they are present in the system.
EnableSimulatedBattery

Enables the simulated battery.
EndTestCase

Marks the end of a test case.
Eval

Evaluate whether this target matches an SDEL statement.
Eval

Evaluates whether all items in the collection match an SDEL statement.
get__NewEnum

Gets a new iteration variable that the For Each loop structure implicitly uses.
get__NewEnum

Learn how this IWDTFDeviceDepot2 interface method gets a new iteration variable that the For Each loop structure implicitly uses.
get__NewEnum

Learn how the get__NewEnum method of the IWDTFLongNumbers2 interface gets a new iteration variable that the For Each loop structure implicitly uses.
get__NewEnum

The get__NewEnum method gets a new iteration variable that the For Each loop structure implicitly uses.
get__NewEnum

Learn how the get__NewEnum method of the IWDTFStrings2 interface gets a new iteration variable that the For Each loop structure implicitly uses.
get__NewEnum

Learn how this IWDTFTargets2 interface method gets a new iteration variable that the For Each loop structure implicitly uses.
get_Config

Gets the WDTF configuration object.
get_Context

Gets and sets a name-value pair that represents user data for the target.
get_Count

Gets the number of actions in this collection.
get_Count

Gets the number of devices that are currently provided by the DeviceDepot.
get_Count

Gets the number of long numbers in the collection.
get_Count

Gets the number of numbers in the collection.
get_Count

Gets the number of strings in the collection.
get_Count

Gets the number of items in this collection.
get_Critical

Gets or sets a value that indicates whether the system power state is critical.
get_DeviceDepot

Gets the DeviceDepot object.
get_IsRestarted

Gets a value that indicates whether the test script restarted as a result of a call to RebootRestart or RebootRestartWithContext.
get_Item

Gets an individual action in the collection.
get_Item

Gets an individual device in the DeviceDepot.
get_Item

Gets an individual long number in the collection.
get_Item

Gets an individual number in the collection.
get_Item

Gets an individual string in the collection.
get_Item

Gets an individual item in the collection.
get_Log

Gets the WDTF log object.
get_RootDevice

Gets the root device.
get_SleepWakeTimeInSeconds

Gets or sets the time in seconds when the system will wake from the sleep state.
get_SystemDepot

Gets the SystemDepot object.
get_Target

Gets the target to which this action refers.
get_ThisSystem

Gets an IWDTFTarget2 value that represents the local computer.
get_Type

Gets a value that identifies the depot that the target comes from.
get_WDTF

Learn how this property gets the main WDTF aggregation object.
get_WDTF

This property gets the main WDTF aggregation object.
get_WDTF

This method gets the main WDTF aggregation object.
get_WDTF

Learn how this method gets the main WDTF aggregation object.
GetBits

The GetBits method returns the set of tracing flags for a coclass as a bit mask, given a specified TTraceLevel value and the CLSID of the coclass.
GetFirstSleepState

Returns the first supported sleep state.
GetInterface

Returns an action for the target.
GetInterfaces

Returns a collection of actions that support the interface - one IWDTFAction2 for each item that has one.
GetInterfacesIfExist

Learn how the method returns a collection of actions that support the interface - one IWDTFAction2 for each item that has one.
GetNextSleepState

Returns the next supported sleep state.
GetRelations

Returns a collection of related targets.
GetStatus

Returns the status code for the last operation.
GetStatusString

Returns the status for the last operation as a string.
GetValue

Returns a value from the target that is associated with a specified attribute.
GetValueBool

Returns a boolean value from the target that is associated with a specified attribute.
GetValueLongNumber

Returns a long number value from the target that is associated with a specified attribute.
GetValueLongNumbers

Returns a collection of long number values from the target that are associated with a specified attribute.
GetValueNumber

Returns a number value from the target that is associated with a specified attribute.
GetValueNumbers

Returns a collection of number values from the target that are associated with a specified attribute.
GetValueString

Returns a string value from the target that is associated with a specified attribute.
GetValueStrings

Returns a collection of string values from the target that are associated with a specified attribute.
HasContext

Determines whether a given context exists for the target.
HasInterface

Determines whether the target supports a given interface.
IsEnabled

Gets a value that indicates whether the Enhanced Device Test (EDT) filter driver is enabled on the target device.
IsEnabled

Learn how the method gets a value that indicates whether the Enhanced Device Test (EDT) filter driver is enabled on the target device.
IsRebootRequired

Gets a value that indicates whether the Enhanced Device Test (EDT) filter driver requires a reboot.
IsRebootRequired

Learn how the method gets a value that indicates whether the Enhanced Device Test (EDT) filter driver requires a reboot.
IsRestartedWithContext

Gets a value that indicates whether the test script was restarted for a specific context.
IsStatusSuccess

Gets a value that indicates whether the last operation was successful.
Open

Opens the device.
OutputError

Writes an error entry to the test case log.
OutputInfo

Writes an informational entry to the test case log.
Pause

Pauses the I/O.
PerformIO

Performs a small amount of simple I/O to the device.
PowerAnalyzeTraceByFile

Analyzes a power trace session that has already been collected and stored in the associated trace message (.etl) log file. This method will only work on Windows 8 and above.
PowerTracingEnd

This method ends a power trace session.
PowerTracingStart

Starts a trace session for power state transitions and saves the trace message file (Wdtfpwr.etl) in the current working directory. This method is available starting with Windows 8.
PowerTracingStartByFile

Starts a trace session for power state transitions and saves the trace message file (.etl) using the specified path. This method is available starting with Windows 8.
put_Context

Learn how the method gets and sets a name-value pair that represents user data for the target.
put_Critical

Sets or gets a value that indicates whether the system power state is critical.
put_SkipRestart

Sets a value that indicates whether the target device should be restarted by default.
put_SkipRestart

Learn how the method sets a value that indicates whether the target device should be restarted by default.
put_SleepWakeTimeInSeconds

Sets or gets the time in seconds when the system will wake from the sleep state.
Query

Returns a subset of the devices in the DeviceDepot.
Query

Returns a subset of the items in the collection.
QuerySingle

Returns a single target device from the DeviceDepot.
QuerySingle

Returns a single item from the collection.
RebootRestart

Restart the system and the current test.
RebootRestartWithContext

Reboots the system and restarts the test script with context data.
Remove

Remove an action from the collection.
Remove

Removes a long number from the collection.
Remove

Removes a number from the collection.
Remove

Removes a string from the collection.
Remove

Removes an item from the collection.
RemoveDevice

Removes the device.
RemoveDevice

Learn how the method removes the device.
RequestEjectDevice

Initiates a device eject.
RequestEjectDevice

Learn how the method initiates a device eject.
RescanDevice

Rescans the target device.
RescanDevice

Learn how the method rescans the target device.
RescanParentDevice

Rescans and re-enumerates the target device's parent device.
RescanParentDevice

Learn how the method rescans and re-enumerates the target device's parent device.
RestartDevice

Initiates a device restart.
RestartDevice

Learn how the method initiates a device restart.
SetSimulatedBatteryChargePercentage

Sets the charge percentage reported to the OS by the simulated battery.
SetSimulatedBatteryToAC

Sets the simulated battery status to AC power.
SetSimulatedBatteryToDC

Sets the simulated battery status to DC power.
SetTarget

The SetTarget method is used internally by WDTF. Do not call this method directly.
SetTraceLevel

The SetTraceLevel method sets the tracing level for an object.
Sleep

Puts the system into the desired sleep state.
Start

Learn how the method opens the device.
StartAsync

Asynchronously signals a start event to occur.
StartTestCase

Marks the start of a test case.
Stop

Stops the device.
StopAsync

Asynchronously signals the stop event to occur.
WaitAsyncCompletion

Waits for the completion of any of the asynchronous events.

Interfaces

 
IAction

The IAction interfaces are plug-ins that can control an instance of the IWDTFTarget2 interface.
ITracer

The ITracer interface enables individual instances of every WDTF interface to determine the specific tracing settings for a given implementation coclass. These settings are recorded in the registry.
ITracing

The ITracing interface sets an object's TTraceLevel value. This interface is a base interface for most of the WDTF interfaces.
IWDTF2

Defines properties for the WDTF collection.
IWDTFAction2

Defines operations and properties that can control an instance of the IWDTFTarget2 interface.
IWDTFActions2

Defines operations and properties for the collection of actions that the IWDTFTargets::GetInterfaces method returns.
IWDTFCONFIG2

Defines operations that control WDTF objects within a test script.
IWDTFDeviceDepot2

Defines properties and operations for the collection of devices on a computer.
IWDTFEnhancedDeviceTestSupportAction2

Defines operations and properties that support the Enhanced Device Test (EDT) filter driver.
IWDTFEnhancedDeviceTestSupportActions2

Defines operations and properties that support the collection of Enhanced Device Test (EDT) actions.
IWDTFLOG2

Defines operations that enable the test case author to add to the WDTF test log.
IWDTFLongNumbers2

Defines operations and properties for a collection of long numbers.
IWDTFNumbers2

Defines operations and properties for a collection of numbers.
IWDTFPNPAction2

Defines operations and properties for the Plug and Play (PNP) device-related test interfaces.
IWDTFPNPActions2

Defines operations and properties for the collection of Plug and Play (PNP) device-related test interfaces.
IWDTFSimpleIOEx2

Defines operations for a simple synchronous I/O functionality test.
IWDTFSimpleIOStressAction2

Defines operations for a simple asynchronous I/O functionality test.
IWDTFSimpleIOStressActions2

Defines operations for a collection of simple asynchronous I/O functionality tests.
IWDTFSimulatedBatterySystemAction

IWDTFSimulatedBatterySystemAction Interface
IWDTFStrings2

Defines operations and properties for a collection of strings.
IWDTFSystemAction2

Defines operations and properties that support driver testing.
IWDTFSystemDepot2

Defines operations and properties for the SystemDepot - the object that represents the local computer.
IWDTFTarget2

Defines operations and properties for a testable item.
IWDTFTargets2

Defines properties and operations for the collection.