Поделиться через


ResumeProfile

Обновлен: Ноябрь 2007

Метод ResumeProfile уменьшает значение счетчика приостановки/возобновления для указанного уровня профилирования.

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

Параметры

Level

Указывает уровень профилирования, к которому можно применить сбор данных о производительности. Для указания одного из трех уровней, к которому можно применить сбор данных о производительности, следует использовать следующие перечислители PROFILE_CONTROL_LEVEL.

Перечислитель

Описание

PROFILE_GLOBALLEVEL

Установка глобального уровня оказывает влияние на все процессы и потоки при выполнении профилирования.

PROFILE_PROCESSLEVEL

Установка уровня процесса оказывает влияние на все потоки, являющиеся частью указанного процесса.

PROFILE_THREADLEVEL

Установка уровня профилирования потока влияет на заданный поток.

dwId

Идентификатор процесса или потока, созданный системой.

Значение свойства или возвращаемое значение

Функция указывает на успешное выполнение или сбой посредством перечисления PROFILE_COMMAND_STATUS. Ниже перечислены возможные возвращаемые значения.

Перечислитель

Описание

PROFILE_ERROR_ID_NOEXIST

Идентификатор элемента профилирования не существует.

PROFILE_ERROR_LEVEL_NOEXIST

Заданный уровень профилирования не существует.

PROFILE_ERROR_MODE_NEVER

При вызове функции для режима профилирования было задано значение NEVER.

PROFILE_ERROR_NOT_YET_IMPLEMENTED

Вызов функции профилирования, уровень профилирования или сочетание вызова и уровня пока не реализованы.

PROFILE_OK

Вызов выполнен успешно.

Заметки

Начальное значение счетчика приостановки/возобновления равно 0. Каждый вызов метода SuspendProfile добавляет 1 к значению счетчика приостановки/возобновления, каждый вызов метода ResumeProfile вычитает 1.

Если значение счетчика приостановки/возобновления больше 0, состояние приостановки/возобновления для уровня равно значению OFF. Если значение счетчика меньше или равно 0, состояние приостановки/возобновления равно значению ON.

Если состояния начала/остановки и приостановки/возобновления равны значению ON, состояние профилирования для данного уровня равно значению ON. Для профилируемого потока состояния глобального уровня, уровня процесса и потока должны быть равны значению ON.

Эквивалент в .NET Framework

Microsoft.VisualStudio.Profiler.dll

Сведения о функции

Заголовок: объявлен в файле VSPerf.h.

Импортируемая библиотека: VSPerf.lib

Пример

В следующем примере демонстрируется использование функции ResumeProfile. В примере предполагается, что ранее для потока или процесса, определенного идентификатором PROFILE_CURRENTID, был выполнен вызов метода SuspendProfile.

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
}

См. также

Другие ресурсы

Справочник по API-интерфейсам профилировщика Visual Studio (машинный код)