ResumeProfileResumeProfile

ResumeProfile メソッドは、指定されたプロファイル レベルの保留/再開カウンターをデクリメントします。The ResumeProfile method decrements the Suspend/Resume counter for the specified profiling level.

構文Syntax

PROFILE_COMMAND_STATUS PROFILERAPI ResumeProfile(  
                       PROFILE_CONTROL_LEVEL Level,   
                       unsigned int dwId);  

パラメーターParameters

Level

パフォーマンス データ収集を適用できるプロファイル レベルを示します。Indicates the profile level to which performance data collection can be applied. 次の PROFILE_CONTROL_LEVEL 列挙子を使用して、パフォーマンス データ収集を適用できる 3 つのレベルのいずれかを示すことができます。The following PROFILE_CONTROL_LEVEL enumerators can be used to indicate one of the three levels to which performance data collection can be applied:

列挙子Enumerator 説明Description
PROFILE_GLOBALLEVELPROFILE_GLOBALLEVEL グローバル レベル設定は、プロファイル実行のすべてのプロセスとスレッドに影響します。Global level setting affects all processes and threads in the profiling run.
PROFILE_PROCESSLEVELPROFILE_PROCESSLEVEL プロセス レベル設定は、指定されたプロセスの一部であるスレッドすべてに影響します。Process level setting affect all threads that are part of specified process.
PROFILE_THREADLEVELPROFILE_THREADLEVEL スレッド プロファイル レベル設定は、指定されたスレッドに影響します。Thread profiling Level setting affects the specified thread.

dwId

システムによって生成される、プロセスまたはスレッドの ID。The process or thread identifier generated by the system.

プロパティ値/戻り値Property Value/Return Value

関数の成功または失敗は、PROFILE_COMMAND_STATUS 列挙型を使って表されます。The function indicates success or failure by using PROFILE_COMMAND_STATUS enumeration. 戻り値は次のいずれかになります。The return value can be one of the following:

列挙子Enumerator 説明Description
PROFILE_ERROR_ID_NOEXISTPROFILE_ERROR_ID_NOEXIST プロファイル要素 ID が存在しません。The profiling element ID does not exist.
PROFILE_ERROR_LEVEL_NOEXISTPROFILE_ERROR_LEVEL_NOEXIST 指定されたプロファイル レベルが存在しません。The profiling level specified does not exist.
PROFILE_ERROR_MODE_NEVERPROFILE_ERROR_MODE_NEVER 関数が呼び出されたときに、プロファイル モードが NEVER に設定されました。The profiling mode was set to NEVER when the function was called.
PROFILE_ERROR_NOT_YET_IMPLEMENTEDPROFILE_ERROR_NOT_YET_IMPLEMENTED プロファイル関数呼び出し、プロファイル レベル、または呼び出しとレベルの組み合わせがまだ実装されていません。The profiling function call, profiling level, or combination of call and level is not yet implemented.
PROFILE_OKPROFILE_OK 呼び出しに成功しました。The call was successful.

コメントRemarks

保留/再開カウンターの初期値は 0 です。The initial value of the Suspend/Resume counter is 0. SuspendProfile を呼び出すたびに、保留/再開数に 1 が加算され、ResumeProfile を呼び出すたびに、1 が減算されます。Each call to SuspendProfile adds 1 to the Suspend/Resume count; each call to ResumeProfile subtracts 1.

保留/再開数が 0 よりも大きい場合、そのレベルの保留/再開状態はオフになります。When the Suspend/Resume count is greater than 0, the Suspend/Resume state for the level is OFF. 数が 0 以下の場合、保留/再開状態はオンになります。When the count is less than or equal to 0, the Suspend/Resume state is ON.

開始/停止状態と保留/再開状態の両方がオンの場合、そのレベルのプロファイル状態はオンです。When the Start/Stop state and the Suspend/Resume state are both ON, the profiling state for the level is ON. プロファイルの対象となるスレッドでは、グローバル、プロセス、およびスレッド レベル状態がすべてオンである必要があります。For a thread to be profiled, the global, process, and thread level states for the thread must all be ON.

同等の .NET Framework 関数.NET Framework Equivalent

Microsoft.VisualStudio.Profiler.dllMicrosoft.VisualStudio.Profiler.dll

関数の情報Function Information

ヘッダー : VSPerf.h で宣言Header: Declared in VSPerf.h

インポート ライブラリ : VSPerf.libImport library: VSPerf.lib

Example

ResumeProfile 関数の例を以下に示します。The following example illustrates the ResumeProfile function. この例は、PROFILE_CURRENTID で識別される同じスレッドまたはプロセスに対して、SuspendProfile メソッドが呼び出されていることを前提としています。The example assumes that a call to the SuspendProfile method has been made for the same thread or process identified by PROFILE_CURRENTID.

void ExerciseResumeProfile()  
{  
    // The initial value of the Suspend/Resume counter is 0.   
    // Each call to SuspendProfile adds 1 to the Suspend/Resume   
    // count; each call to ResumeProfile subtracts 1.   

    // Variables used to print output.  
    HRESULT hResult;  
    TCHAR tchBuffer[256];  

    // Declare enumeration to hold result of call to ResumeProfile  
    PROFILE_COMMAND_STATUS profileResult;  

    profileResult = ResumeProfile(  
        PROFILE_GLOBALLEVEL,  
        PROFILE_CURRENTID);  

    // Format and print result.  
    LPCTSTR pszFormat = TEXT("%s %d.\0");  
    TCHAR* pszTxt = TEXT("ResumeProfile returned");  
    hResult = StringCchPrintf(tchBuffer, 256, pszFormat,   
        pszTxt, profileResult);  

#ifdef DEBUG  
    OutputDebugString(tchBuffer);  
#endif  
}  

関連項目See Also

Visual Studio プロファイラー API リファレンス (ネイティブ)Visual Studio Profiler API Reference (Native)