共用方式為


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
}

請參閱

其他資源

Visual Studio 分析工具 API 參考 (原生)