ID3DUserDefinedAnnotation::BeginEvent メソッド (d3d11_1.h)
イベント コードのセクションの先頭をマークします。
構文
INT BeginEvent(
[in] LPCWSTR Name
);
パラメーター
[in] Name
イベントの名前を含む NULL で終わる UNICODE 文字列。 名前はオペレーティング システムには関係ありません。 呼び出し元のアプリケーションが Direct3D プロファイリング ツールで実行されている場合に意味のある名前を選択できます。 NULL ポインターを 指定 すると、未定義の結果が生成されます。
戻り値
ID3DUserDefinedAnnotation::EndEvent メソッドの呼び出しによってまだ終了していない BeginEvent に対する以前の呼び出しの数を返します。
Direct3D プロファイル ツールで呼び出し元のアプリケーションが実行されていない場合、戻り値は –1 です。
注釈
EndEvent メソッドを呼び出して、イベント コードのセクションの末尾をマークします。
ユーザーは、呼び出し元アプリケーションが有効な Direct3D プロファイル ツール (Microsoft Visual Studio Ultimate 2012 など) で実行されているときにイベントを視覚化できます。
BeginEvent は、呼び出し元のアプリケーションが有効な Direct3D プロファイリング ツールで実行されていない場合は影響しません。
例
次のコードは、 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 |