CommentMarkProfile
更新:2007 年 11 月
CommentMarkProfile 函式會在 .vsp 檔中插入數字標記和文字字串。若要插入標記和註解,包含 CommentMarkProfile 函式之執行緒的剖析必須是 ON。
PROFILE_COMMAND_STATUS PROFILERAPI CommentMarkProfileA(
long lMarker,
LPCTSTR szComment);
參數
lMarker
要插入的數字標記,標記必須大於或等於 0 (零)。
szComment
要插入的文字字串指標,字串必須小於 256 個字元,其中包含 NULL 結束字元。
屬性值/傳回值
此函式會使用 PROFILE_COMMAND_STATUS 列舉型別來表示成功或失敗。傳回值可以是下列其中之一:
列舉值 |
描述 |
---|---|
MARK_ERROR_MARKER_RESERVED |
參數會小於或等於 0。這些值已保留。標記和註解都不會記錄。 |
MARK_ERROR_MODE_NEVER |
當呼叫函式時,分析模式是設定為 NEVER。標記和註解都不會記錄。 |
MARK_ERROR_MODE_OFF |
當呼叫函式時,分析模式是設定為 OFF。標記和註解都不會記錄。 |
MARK_ERROR_NO_SUPPORT |
此內容不支援任何標記。標記和註解都不會記錄。 |
MARK_ERROR_OUTOFMEMORY |
無法使用記憶體記錄事件。標記和註解都不會記錄。 |
MARK_TEXTTOOLONG |
字串超過最大值 256 字元,註解字串遭截斷,且已記錄標記和註解。 |
MARK_OK |
傳回 MARK_OK 是表示成功。 |
備註
當以 VSInstr Mark 命令或以函式 (CommentMarkAtProfile、CommentMarkProfile 或 MarkProfile) 插入標記和註解時,包含標記設定檔函式之執行緒的剖析狀態必須為開啟狀態。
設定檔標記屬於全域範圍。例如,在一個執行緒中插入的設定檔標記可用來標記 .vsp 檔中任何執行緒內的資料區段之開頭或結尾。
重要事項: |
---|
CommentMarkProfile 方法只能和檢測一起使用。 |
.NET Framework 對等用法
Microsoft.VisualStudio.Profiler.dll
功能資訊
頁首 |
包含 VSPerf.h |
程式庫 |
使用 VSPerf.lib |
Unicode |
實作為 CommentMarkProfileW (Unicode) 和 CommentMarkProfileA (ANSI)。 |
範例
下列程式碼將說明 CommentMarkProfile 函式呼叫。此範例會假設使用 Win32 字串巨集和 Unicode 編譯器設定來判斷程式碼是否呼叫 ANSI 函式呼叫。
void ExerciseCommentMarkProfile()
{
// Declare and initalize variables to pass to
// CommentMarkProfile. 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.
long markId = 01;
TCHAR * markText = TEXT("Exercising CommentMarkProfile...");
// Variables used to print output.
HRESULT hResult;
TCHAR tchBuffer[256];
// Declare MarkOperationResult Enumerator.
// Holds return value from call to CommentMarkProfile.
PROFILE_COMMAND_STATUS markResult;
markResult = CommentMarkProfile(
markId,
markText);
// Format and print result.
LPCTSTR pszFormat = TEXT("%s %d.\0");
TCHAR* pszTxt = TEXT("CommentMarkProfile returned");
hResult = StringCchPrintf(tchBuffer, 256, pszFormat,
pszTxt, markResult);
#ifdef DEBUG
OutputDebugString(tchBuffer);
#endif
}