Partager via


MarkProfile

Mise à jour : novembre 2007

La méthode MarkProfile insère une marque de profil dans le fichier .vsp. Le profilage du thread contenant la fonction MarkProfile doit être ON pour que la marque soit insérée.

PROFILE_COMMAND_STATUS PROFILERAPI MarkProfile( long lMarker );

Paramètres

lMarker

Marqueur à insérer. Le marqueur doit être supérieur ou égal à 0 (zéro).

Valeur de propriété/valeur de retour

La fonction indique la réussite ou l'échec en utilisant l'énumération PROFILE_COMMAND_STATUS. La valeur de retour peut être l'une des suivantes :

Énumérateur

Description

MARK_ERROR_MARKER_RESERVED

Le paramètre est inférieur ou égal à 0. Ces valeurs sont réservées. La marque et le commentaire ne sont pas enregistrés.

MARK_ERROR_MODE_NEVER

La valeur NEVER a été affectée au mode de profilage lors de l'appel à la fonction. La marque et le commentaire ne sont pas enregistrés.

MARK_ERROR_MODE_OFF

La valeur OFF a été affectée au mode de profilage lors de l'appel à la fonction. La marque et le commentaire ne sont pas enregistrés.

MARK_ERROR_NO_SUPPORT

Aucune prise en charge de marque dans ce contexte. La marque et le commentaire ne sont pas enregistrés.

MARK_ERROR_OUTOFMEMORY

La mémoire n'était pas disponible pour enregistrer l'événement. La marque et le commentaire ne sont pas enregistrés.

MARK_TEXTTOOLONG

La chaîne dépasse le nombre maximum de 256 caractères. La chaîne de commentaire est tronquée et la marque et le commentaire sont enregistrés.

MARK_OK

MARK_OK est retourné en cas de succès.

Notes

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é. Vous pouvez appeler MarkProfile plusieurs fois.

Les marques de profil sont globales dans la portée. Par exemple, une marque de profil insérée dans un seul thread peut être utilisée pour marquer le début ou la fin d'un segment de données de n'importe quel thread dans le fichier .vsp.

L'état de profilage du thread qui contient la fonction de profil de la marque doit être activé lorsque les marques et les commentaires sont insérés à l'aide de la commande Mark ou des fonctions API (CommentMarkAtProfile, CommentMarkProfile ou MarkProfile).

Remarque importante :

La méthode MarkProfile doit être utilisée uniquement avec le profilage d'instrumentation.

Équivalent .NET Framework

Microsoft.VisualStudio.Profiler.dll

Informations sur la fonction

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

Importez la bibliothèque : VSPerf.lib

Exemple

L'exemple suivant illustre la fonction MarkProfile.

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 aussi

Autres ressources

Référence des API du générateur de profils Visual Studio (Native)