SetMarkerMode routine

Notifies the user-mode display driver that it should support a type of Event Tracing for Windows (ETW) marker event. Must be implemented by Windows Display Driver Model (WDDM) 1.3 and later drivers.



_Check_return_ HRESULT APIENTRY* SetMarkerMode(
  _In_  D3D10DDI_HDEVICE hDevice,
  UINT Flags
{ ... }


hDevice [in]

A handle to the display device (graphics context).

Type [in]

A value from the D3DWDDM1_3DDI_MARKER_TYPE enumeration that indicates the type of marker event that the driver should support.


A UINT value that indicates whether the driver should provide custom info in command buffers. If set to D3DWDDM1_3DDI_SETMARKERMODE_CUSTOMDRIVEREVENTS, the driver should annotate and instrument command buffers with custom event info. Otherwise, the driver should not annotate command buffers.

The annotation can be in the form of a text string in the English-US locale, or in the form of an index value to a location in a string table. For the latter option, the driver must also implement a function that describes the strings that the index values indicate.

Return value

Returns S_OK or an appropriate error result if the function does not complete successfully.


Follow these guidelines when you set up profile-type marker events in your user-mode driver, indicated by the D3DWDDM1_3DDI_MARKER_TYPE_PROFILE type:

  1. Use lightweight instrumentation that doesn't produce a strong correlation with graphics command boundaries.
  2. The driver must be able to sample the GPU time stamp at the end of the graphics pipeline.
  3. Don't use sampling commands that place a high performance burden on the graphics pipeline, such as wait-for-idle commands. To be able to instrument profile-type marker events, your driver shouldn't have to flush the pipeline or caches.


Minimum supported client

Windows 8.1

Minimum supported server

Windows Server 2012 R2


WDDM 1.3 and later


D3d10umddi.h (include D3d10umddi.h)

See also




Send comments about this topic to Microsoft

© 2014 Microsoft