ID3DUserDefinedAnnotation::SetMarker 方法 (d3d11_1.h)

在代码中标记单个执行点。

语法

void SetMarker(
  [in] LPCWSTR Name
);

参数

[in] Name

一个 以 NULL 结尾的 UNICODE 字符串,其中包含标记的名称。 该名称与操作系统无关。 当调用应用程序在 Direct3D 分析工具下运行时,可以选择有意义的名称。 NULL 指针生成未定义的结果。

返回值

备注

当调用应用程序在已启用的 Direct3D 分析工具(如 Microsoft Visual Studio Ultimate 2012)下运行时,用户可以可视化标记。

如果调用应用程序未在已启用的 Direct3D 分析工具下运行,则 SetMarker 不起作用。

示例

以下代码演示如何使用 SetMarker。 它还使用 CComPtr 智能指针类型。


CComPtr< ID3D11DeviceContext > pID3D11DeviceContext;

HRESULT hrCreateDevice = (*pfnD3D11CreateDevice)( 
        0,
        D3D_DRIVER_TYPE_NULL,
        0,
        0,
        NULL,
        0,
        D3D11_SDK_VERSION,
        NULL,
        0,
        & pID3D11DeviceContext );
VERIFY_SUCCEEDED(hrCreateDevice);

CComPtr<ID3DUserDefinedAnnotation> pPerf;
HRESULT hr = pID3D11DeviceContext->QueryInterface( __uuidof(pPerf), reinterpret_cast<void**>(&pPerf) );
if ( FAILED( hr ) ) 
    return;
pPerf->SetMarker( L”Occlusion test failed- not drawing sun flare” );

          

要求

要求
最低受支持的客户端 适用于 Windows 7 的Windows 8和平台更新 [桌面应用 |UWP 应用]
最低受支持的服务器 适用于 Windows Server 2008 R2 的Windows Server 2012和平台更新 [桌面应用 |UWP 应用]
目标平台 Windows
标头 d3d11_1.h
Library D3D11.lib

另请参阅

ID3DUserDefinedAnnotation