MarkProfileMarkProfile

La méthode MarkProfile insère une marque de profil dans le fichier .vsp.The MarkProfile method inserts a profile mark in the .vsp file. Le profilage pour le thread contenant la fonction MarkProfile doit être activé pour la marque à insérer.Profiling for the thread containing the MarkProfile function must be ON for the mark to be inserted.

SyntaxeSyntax

PROFILE_COMMAND_STATUS PROFILERAPI MarkProfile( long lMarker );  

ParamètresParameters

lMarker

Marqueur à insérer.The marker to insert. La valeur du marqueur doit être supérieure ou égale à zéro.The marker must be greater than or equal to 0 (zero).

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
MARK_ERROR_MARKER_RESERVEDMARK_ERROR_MARKER_RESERVED Le paramètre est inférieur ou égal à zéro.The parameter is less than or equal to 0. Ces valeurs sont réservées.These values are reserved. La marque et le commentaire ne sont pas enregistrés.The mark and comment are not recorded.
MARK_ERROR_MODE_NEVERMARK_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. La marque et le commentaire ne sont pas enregistrés.The mark and comment are not recorded.
MARK_ERROR_MODE_OFFMARK_ERROR_MODE_OFF Le mode de profilage a été défini sur OFF quand la fonction a été appelée.The profiling mode was set to OFF when the function was called. La marque et le commentaire ne sont pas enregistrés.The mark and comment are not recorded.
MARK_ERROR_NO_SUPPORTMARK_ERROR_NO_SUPPORT Pas de prise en charge de marques dans ce contexte.No mark support in this context. La marque et le commentaire ne sont pas enregistrés.The mark and comment are not recorded.
MARK_ERROR_OUTOFMEMORYMARK_ERROR_OUTOFMEMORY La mémoire n’était pas disponible pour enregistrer l’événement.Memory was not available to record the event. La marque et le commentaire ne sont pas enregistrés.The mark and comment are not recorded.
MARK_TEXTTOOLONGMARK_TEXTTOOLONG La chaîne dépasse le maximum de 256 caractères.The string exceeds the maximum of 256 characters. La chaîne de commentaire est tronquée, et la marque et le commentaire sont enregistrés.The comment string is truncated and the mark and comment are recorded.
MARK_OKMARK_OK MARK_OK est retourné pour indiquer la réussite.MARK_OK is returned to indicate success.

NotesRemarks

La valeur de la marque est insérée dans le fichier .vsp chaque fois que le code s’exécute si le thread contenant la fonction MarkProfile est profilé.The mark value is inserted into the .vsp file each time the code runs if the thread containing the MarkProfile function is being profiled. Vous pouvez appeler MarkProfile plusieurs fois.You can call MarkProfile multiple times.

Les marques de profil sont globales dans l’étendue.Profile marks are global in scope. Par exemple, une marque de profil insérée dans un thread peut être utilisée pour marquer le début ou la fin d’un segment de données dans n’importe quel thread du fichier .vsp.For example, a profile mark inserted in one thread can be used to mark the start or end of a data segment in any thread in the .vsp file.

L’état du profilage du thread qui contient la fonction de profil de marque doit être Activé lors de l’insertion de marques et de commentaires avec la commande Mark ou des fonctions de l’API (CommentMarkAtProfile, CommentMarkProfile ou MarkProfile).The profiling state for the thread that contains the mark profile function must be on when marks and comments inserted with the Mark command or with API functions (CommentMarkAtProfile, CommentMarkProfile, or MarkProfile).

Important

La méthode MarkProfile doit être utilisé avec le profilage par instrumentation uniquement.MarkProfile method should be used with instrumentation profiling only.

É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

Le code suivant illustre la fonction MarkProfile.The following code illustrates the MarkProfile function.

void ExerciseMarkProfile()  
{  
    // Declare and initialize variables to pass to   
    // MarkProfile.  The values of these parameters   
    // are assigned based on the needs of the code;  
    // and for the sake of simplicity in this example,   
    // the variables are assigned arbitrary values.  
    int markId = 03;  

    // Declare enumeration to hold return value of   
    // call to MarkProfile.  
    PROFILE_COMMAND_STATUS markResult;  

    // Variables used to print output.  
    HRESULT hResult;  
    TCHAR tchBuffer[256];  

    markResult = MarkProfile(markId);  

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

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