次の方法で共有


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

こちらもご覧ください

ID3DUserDefinedAnnotation