StartProfileStartProfile

La fonction StartProfile définit le compteur sur 1 (désactivé) pour le niveau de profilage spécifié.The StartProfile function sets the counter to 1 (on) for the specified profiling level.

SyntaxeSyntax

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

ParamètresParameters

Level

Indique le niveau du profil auquel la collecte des données de performances peut être appliquée.Indicates the profile level to which performance data collection can be applied. Les énumérateurs PROFILE_CONTROL_LEVEL suivants peuvent être utilisés pour indiquer un des trois niveaux auxquels la collecte des données de performances peut être appliquée :The following PROFILE_CONTROL_LEVEL enumerators can be used to indicate one of the three levels to which performance data collection can be applied:

EnumeratorEnumerator DescriptionDescription
PROFILE_GLOBALLEVELPROFILE_GLOBALLEVEL Le niveau « global »affecte tous les processus et tous les threads dans l’exécution du profilage.Global level setting affects all processes and threads in the profiling run.
PROFILE_PROCESSLEVELPROFILE_PROCESSLEVEL Le niveau « processus » affecte tous les threads qui font partie du processus spécifié.Process level setting affects all threads that are part of specified process.
PROFILE_THREADLEVELPROFILE_THREADLEVEL Le niveau de profilage « thread » affecte le thread spécifié.Thread profiling Level setting affects the specified thread.

dwId

Identificateur du processus ou du thread généré par le système.The process or thread identifier generated by the system.

Valeur de propriété/valeur de retourProperty Value/Return Value

La fonction indique la réussite ou l’échec en utilisant l’énumération PROFILE_COMMAND_STATUS.The function indicates success or failure by using PROFILE_COMMAND_STATUS enumeration. La valeur de retour peut être une des suivantes :The return value can be one of the following:

EnumeratorEnumerator DescriptionDescription
PROFILE_ERROR_ID_NOEXISTPROFILE_ERROR_ID_NOEXIST L’ID d’élément de profilage n’existe pas.The profiling element ID does not exist.
PROFILE_ERROR_LEVEL_NOEXISTPROFILE_ERROR_LEVEL_NOEXIST Le niveau de profilage spécifié n’existe pas.The profiling level specified does not exist.
PROFILE_ERROR_MODE_NEVERPROFILE_ERROR_MODE_NEVER Le mode de profilage a été défini sur NEVER quand la fonction a été appelée.The profiling mode was set to NEVER when the function was called.
PROFILE_ERROR_NOT_YET_IMPLEMENTEDPROFILE_ERROR_NOT_YET_IMPLEMENTED L’appel de fonction du profilage, le niveau de profilage ou la combinaison d’appel et de niveau n’est pas encore implémenté.The profiling function call, profiling level, or combination of call and level is not yet implemented.
PROFILE_OKPROFILE_OK L’appel a réussi.The call was successful.

NotesRemarks

StartProfile et StopProfile contrôlent l’état Start/Stop pour le niveau de profilage.StartProfile and StopProfile control the Start/Stop state for the profiling level. La valeur par défaut de Start/Stop est 1.The default value of Start/Stop is 1. La valeur initiale peut être changée dans le Registre.The initial value can be changed in the registry. Chaque appel à StartProfile définit Start/Stop sur 1 ; chaque appel à StopProfile le définit sur 0.Each call to StartProfile sets Start/Stop to 1; each call to StopProfile sets it to 0.

Quand Start/Stop est supérieur à 0, l’état de Start/Stop pour le niveau est ON.When the Start/Stop is greater than 0, the Start/Stop state for the level is ON. Quand il est inférieur ou égal à 0, l’état de Start/Stop est OFF.When it is less than or equal to 0, the Start/Stop state is OFF.

Quand l’état Start/Stop et l’état Suspend/Resume sont tous deux ON, l’état du profilage pour le niveau est ON.When the Start/Stop state and the Suspend/Resume state are both ON, the profiling state for the level is ON. Pour qu’un thread soit profilé, les états des niveaux Global, Processus et Thread pour le thread doivent tous être ON.For a thread to be profiled, the global, process, and thread level states for the thread must be ON.

Équivalent .NET Framework.NET Framework Equivalent

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

Informations sur la fonctionFunction Information

En-tête : déclaré dans VSPerf.hHeader: Declared in VSPerf.h

Bibliothèque d’importation : VSPerf.libImport library: VSPerf.lib

ExempleExample

L’exemple suivant illustre l’appel de la fonction StartProfile.The following example illustrates the StartProfile function call.

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  
}  

Voir aussiSee Also

Informations de référence sur l’API du profileur Visual Studio (native)Visual Studio Profiler API Reference (Native)