StartProfile
Aggiornamento: novembre 2007
La funzione StartProfile imposta il contatore su 1 (on) per il livello di analisi specificato.
PROFILE_COMMAND_STATUS PROFILERAPI StartProfile(
PROFILE_CONTROL_LEVEL Level,
unsigned int dwId);
Parametri
Level
Indica il livello di analisi al quale può essere applicata la raccolta dei dati sulle prestazioni. Gli enumeratori PROFILE_CONTROL_LEVEL seguenti possono essere utilizzati per indicare uno dei tre livelli a cui può essere applicata la raccolta dei dati sulle prestazioni:
Enumerator |
Descrizione |
---|---|
PROFILE_GLOBALLEVEL |
L'impostazione del livello globale influisce su tutti i processi e i thread della sessione durante l'esecuzione del profilo. |
PROFILE_PROCESSLEVEL |
L'impostazione del livello di processo influisce su tutti i thread appartenenti al processo specificato. |
PROFILE_THREADLEVEL |
L'impostazione del livello di profilo dei thread influisce sul thread specificato. |
dwId
Identificatore del processo o del thread generato dal sistema.
Valore proprietà/Valore restituito
La funzione indica esito positivo o negativo utilizzando l'enumerazione PROFILE_COMMAND_STATUS. Il valore restituito può essere uno dei seguenti:
Enumerator |
Descrizione |
---|---|
PROFILE_ERROR_ID_NOEXIST |
L'ID elemento di profilo non esiste. |
PROFILE_ERROR_LEVEL_NOEXIST |
Il livello di profilo specificato non esiste. |
PROFILE_ERROR_MODE_NEVER |
La modalità di profilo è stata impostata su NEVER quando è stata chiamata la funzione. |
PROFILE_ERROR_NOT_YET_IMPLEMENTED |
Non è ancora stata eseguita l'implementazione della chiamata alla funzione di profilo, del livello di profilo o della combinazione di entrambi. |
PROFILE_OK |
La chiamata è stata eseguita correttamente. |
Note
StartProfile e StopProfile controllano lo stato Start/Stop per il livello di profilo. Il valore iniziale predefinito di Start/Stop è 1, ma può essere modificato nel Registro di sistema. Ogni chiamata a StartProfile e a StopProfile imposta Start/Stop rispettivamente su 1 e su 0.
Quando il valore di Start/Stop è maggiore di 0, lo stato Start/Stop del livello è ON. Quando il valore del contatore è minore o uguale a 0, lo stato Start/Stop è OFF.
Quando gli stati Start/Stop e Suspend/Resume sono entrambi impostati su ON, lo stato di profilo del livello è ON. Per il profilo di un thread, è necessario che gli stati a livello globale, di processo e di thread siano tutti impostati su ON.
Equivalente .NET Framework
Microsoft.VisualStudio.Profiler.dll
Informazioni sulla funzione
Intestazione: dichiarata in VSPerf.h
Libreria di importazione: VSPerf.lib
Esempio
Nell'esempio riportato di seguito viene illustrata la chiamata alla funzione StartProfile.
void ExerciseStartProfile()
{
// StartProfile and StopProfile control the
// Start/Stop state for the profiling level.
// The default initial value of Start/Stop is 1.
// The initial value can be changed in the registry.
// Each call to StartProfile sets Start/Stop to 1;
// each call to StopProfile sets it to 0.
// Variables used to print output.
HRESULT hResult;
TCHAR tchBuffer[256];
// Declare enumeration to hold return value of
// the call to StartProfile.
PROFILE_COMMAND_STATUS profileResult;
profileResult = StartProfile(
PROFILE_THREADLEVEL,
PROFILE_CURRENTID);
// Format and print result.
LPCTSTR pszFormat = TEXT("%s %d.\0");
TCHAR* pszTxt = TEXT("StartProfile returned");
hResult = StringCchPrintf(tchBuffer, 256, pszFormat,
pszTxt, profileResult);
#ifdef DEBUG
OutputDebugString(tchBuffer);
#endif
}
Vedere anche
Altre risorse
Riferimenti per le API del profiler di Visual Studio (native)