MarkProfile
更新:2007 年 11 月
MarkProfile 方法會在 .vsp 檔中插入剖析標記。若要插入標記,包含 MarkProfile 函式之執行緒的剖析必須為 ON。
PROFILE_COMMAND_STATUS PROFILERAPI MarkProfile( long lMarker );
參數
lMarker
要插入的標記,標記必須大於或等於 0 (零)。
屬性值/傳回值
此函式會使用 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 是表示成功。 |
備註
每次程式碼執行時,如果包含 MarkProfile 函式的執行緒正在進行分析,便會將標記值插入至 .vsp 檔。您可以多次呼叫 MarkProfile。
設定檔標記屬於全域範圍。例如,在一個執行緒中插入的設定檔標記可用來標記 .vsp 檔中任何執行緒內的資料區段之開頭或結尾。
當以 Mark 命令或 API 函式 (CommentMarkAtProfile、CommentMarkProfile 或 MarkProfile) 插入標記和註解時,包含標記設定檔函式之執行緒的設定檔狀態必須為開啟狀態。
重要事項: |
---|
MarkProfile 方法應該只和檢測分析一起使用。 |
.NET Framework 對等用法
Microsoft.VisualStudio.Profiler.dll
功能資訊
標頭:在 VSPerf.h 中宣告
匯入程式庫:VSPerf.lib
範例
下列程式碼將說明 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
}