ID3DUserDefinedAnnotation::BeginEvent 方法 (d3d11_1.h)
标记事件代码部分的开头。
语法
INT BeginEvent(
[in] LPCWSTR Name
);
参数
[in] Name
包含事件名称的 以 NULL 结尾的 UNICODE 字符串。 该名称与操作系统无关。 当调用应用程序在 Direct3D 分析工具下运行时,可以选择有意义的名称。 NULL 指针生成未定义的结果。
返回值
返回对 BeginEvent 的先前调用数,这些调用尚未通过调用 ID3DUserDefinedAnnotation::EndEvent 方法完成。
如果调用应用程序未在 Direct3D 分析工具下运行,则返回值为 –1。
注解
调用 EndEvent 方法以标记事件代码部分的末尾。
当调用应用程序在启用的 Direct3D 分析工具(如 Microsoft Visual Studio Ultimate 2012)下运行时,用户可以可视化事件。
如果调用应用程序未在已启用的 Direct3D 分析工具下运行,则 BeginEvent 不起作用。
示例
下面的代码演示如何使用对 BeginEvent 和 EndEvent 方法的一对调用。 它还使用 CComPtr 智能指针类型。
CComPtr< ID3D11DeviceContext > pContext;
HRESULT hrCreateDevice = (*pfnD3D11CreateDevice)(
0,
D3D_DRIVER_TYPE_NULL,
0,
0,
NULL,
0,
D3D11_SDK_VERSION,
NULL,
0,
& pContext );
VERIFY_SUCCEEDED(hrCreateDevice);
CComPtr<ID3DUserDefinedAnnotation> pPerf;
HRESULT hr = pContext->QueryInterface( __uuidof(pPerf), reinterpret_cast<void**>(&pPerf) );
if ( FAILED( hr ) )
return;
pPerf->BeginEvent( L”Now entering ocean rendering code” );
MyDrawOceanRoutine( );
pPerf->EndEvent( );
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 适用于 Windows 7 的Windows 8和平台更新 [桌面应用 |UWP 应用] |
最低受支持的服务器 | 适用于 Windows Server 2008 R2 的Windows Server 2012和平台更新 [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | d3d11_1.h |
Library | D3D11.lib |