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í)