SuspendProfile

Metoda SuspendProfile zvyšuje hodnotu čítače pozastavení/pokračování pro zadanou úroveň profilování.

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

Parametry

Level

Označuje úroveň profilu, pro kterou lze použít sběru údajů o výkonu.Následující výčet PROFILE_CONTROL_LEVEL lze použít k označení jedné ze tří úrovní sběru dat o výkonu:

Výčet

Description

PROFILE_GLOBALLEVEL

Nastavení globální úrovně ovlivňuje všechny procesy a vlákna v profilovaném běhu.

PROFILE_PROCESSLEVEL

Nastavení úrovně procesu ovlivňuje všechna vlákna, která jsou součástí určeného procesu.

PROFILE_THREADLEVEL

Nastavení úrovně vláken ovlivňuje jen zadané vlákno.

dwId

Identifikátor procesu nebo vlákna generovaný systémem.

Hodnota/Návratová hodnota vlastnosti

Funkce označuje úspěch nebo neúspěch pomocí výčtu PROFILE_COMMAND_STATUS.Návratová hodnota může být jedna z následujících:

Výčet

Description

PROFILE_ERROR_ID_NOEXIST

Profilovací prvek s příslušným ID neexistuje.

PROFILE_ERROR_LEVEL_NOEXIST

Určená profilovací úroveň neexistuje.

PROFILE_ERROR_MODE_NEVER

Profilovací režim byl nastaven na hodnotu NEVER, když byla funkce volána.

PROFILE_ERROR_NOT_YET_IMPLEMENTED

Profilovací volání funkce, profilovací úroveň nebo jejich kombinace není dosud implementována.

PROFILE_OK

Volání bylo úspěšné.

Poznámky

Počáteční hodnota čítače pozastavení/pokračování je 0.Každé volání funkce SuspendProfile zvýší čítač pozastavení/pokračování o 1; každé volání funkce ResumeProfile sníží tento čítač o 1.

Pokud je čítač pozastavení/pokračování větší než 0, je stav pozastavení/pokračování pro tuto úroveň nastaven na hodnotu OFF.Pokud je tento čítač menší nebo roven 0, je stav pozastavení/pokračování nastaven na hodnotu ON.

Pokud jsou oba stavy spuštění/zastavení a pozastavení/pokračování nastaveny na hodnotu ON, je stav profilování pro tuto úroveň také nastaven na hodnotu ON.Pro profilování vlákna musí být stavy pro globální úroveň, úroveň procesu i úroveň vlákna nastaveny na hodnotu ON.

Ekvivalent v rozhraní .NET Framework

Microsoft.VisualStudio.Profiler.dll

Informace o funkci

Hlavičkový soubor: Deklarovaná ve VSPerf.h

Knihovna importů: VSPerf.lib

Příklad

Následující příklad ukazuje metodu SuspendProfile.Tento příklad předpokládá, že již bylo provedeno volání funkce StartProfile pro proces nebo vlákno popsané identifikátorem PROFILE_CURRENTID.

void ExerciseSuspendProfile()
{
    // 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 SuspendProfile
    PROFILE_COMMAND_STATUS profileResult;

    profileResult = SuspendProfile(
        PROFILE_GLOBALLEVEL,
        PROFILE_CURRENTID);

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

#ifdef DEBUG
    OutputDebugString(tchBuffer);
#endif
}

Viz také

Další zdroje

Referenční dokumentace rozhraní API produktu Visual Studio Profiler (nativní)