CommentMarkAtProfile
Mise à jour : novembre 2007
La méthode CommentMarkAtProfile insère une valeur d'horodatage, une marque numérique et une chaîne de commentaire dans le fichier .vsp. La valeur d'horodatage peut être utilisée pour synchroniser les événements externes. Pour que la marque et le commentaire soient insérés, le profilage du thread contenant la fonction CommentMarkAtProfile doit être ON.
PROFILE_COMMAND_STATUS PROFILERAPI CommentMarkAtProfileA(
__int64 dnTimestamp,
long lMarker,
LPCTSTR szComment);
Paramètres
dnTimestamp
Entier 64 bits représentant une valeur d'horodatage.
lMarker
Marqueur numérique à insérer. Le marqueur doit être supérieur ou égal à 0 (zéro).
szComment
Pointeur sur la chaîne de texte à insérer. La chaîne doit être inférieure à 256 caractères y compris le terminateur NULL.
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
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). 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.
Remarque importante : |
---|
Les méthodes CommentMarkAtProfile doivent être utilisées uniquement avec l'instrumentation. |
Équivalent .NET Framework
Microsoft.VisualStudio.Profiler.dll
Informations sur la fonction
En-tête |
Inclure VSPerf.h |
Bibliothèque |
Utiliser VSPerf.lib |
Unicode |
Implémenté en tant que CommentMarkAtProfileW (Unicode) et CommentMarkAtProfileA (ANSI). |
Exemple
Le code suivant illustre l'utilisation de l'appel de fonction générique CommentMarkAtProfile. L'exemple suppose l'utilisation des macros de chaîne Win32 et des paramètres du compilateur pour ANSI afin de déterminer si le code appelle la fonction compatible ANSI.
void ExerciseCommentMarkAtProfile(void)
{
// Declare and initalize variables to pass to
// CommentMarkAtProfile. 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.
int64 timeStamp = 0x1111;
long markId = 01;
TCHAR * markText = TEXT("Exercising CommentMarkAtProfile...");
// Variables used to print output.
HRESULT hResult;
TCHAR tchBuffer[256];
// Declare MarkOperationResult Enumerator.
// Holds return value from call to CommentMarkAtProfile.
PROFILE_COMMAND_STATUS markResult;
markResult = CommentMarkAtProfile(
timeStamp,
markId,
markText);
// Format and print result.
LPCTSTR pszFormat = TEXT("%s %d.\0");
TCHAR* pszTxt = TEXT("CommentMarkAtProfile 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)