CommentMarkAtProfileCommentMarkAtProfile

CommentMarkAtProfile メソッドは、タイムスタンプ値、数字マーク、コメント文字列を .vsp ファイルに挿入します。The CommentMarkAtProfile method inserts a timestamp value, a numeric mark, and a comment string in the .vsp file. タイムスタンプ値は、外部イベントの同期に使用できます。The timestamp value can be used to synchronize external events. マークやコメントを挿入するには、CommentMarkAtProfile 関数が含まれるスレッドのプロファイリングをオンにする必要があります。For the mark and comment to be inserted, profiling for the thread that contains the CommentMarkAtProfile function must be ON.

構文Syntax

PROFILE_COMMAND_STATUS PROFILERAPI CommentMarkAtProfile (  
                                   __int64 dnTimestamp,  
                                   long lMarker,  
                                   LPCTSTR szComment);  

パラメーターParameters

dnTimestamp

タイムスタンプ値を表す 64 ビット整数。A 64-bit integer that represents a timestamp value.

lMarker

挿入する数字マーカー。The numeric marker to insert. マーカーは 0 以上の値にする必要があります。The marker must greater than or equal to 0 (zero).

szComment

挿入するテキスト文字列のポインター。A pointer to the text string to insert. 文字列は、NULL 終端文字も含めて 256 文字位内にする必要があります。The string must be less than 256 characters including the NULL terminator.

プロパティ値/戻り値Property Value/Return Value

関数の成功または失敗は、PROFILE_COMMAND_STATUS 列挙型を使って表されます。The function indicates success or failure by using PROFILE_COMMAND_STATUS enumeration. 戻り値は次のいずれかになります。The return value can be one of the following:

列挙子Enumerator 説明Description
MARK_ERROR_MARKER_RESERVEDMARK_ERROR_MARKER_RESERVED パラメーターは 0 以下です。The parameter is less than or equal to 0. これらの値は予約済みです。These values are reserved. マークとコメントは記録されません。The mark and comment are not recorded.
MARK_ERROR_MODE_NEVERMARK_ERROR_MODE_NEVER 関数が呼び出されたときに、プロファイル モードが NEVER に設定されました。The profiling mode was set to NEVER when the function was called. マークとコメントは記録されません。The mark and comment are not recorded.
MARK_ERROR_MODE_OFFMARK_ERROR_MODE_OFF 関数が呼び出されたときに、プロファイル モードが OFF に設定されました。The profiling mode was set to OFF when the function was called. マークとコメントは記録されません。The mark and comment are not recorded.
MARK_ERROR_NO_SUPPORTMARK_ERROR_NO_SUPPORT このコンテキストでマークがサポートされていません。No mark support in this context. マークとコメントは記録されません。The mark and comment are not recorded.
MARK_ERROR_OUTOFMEMORYMARK_ERROR_OUTOFMEMORY メモリ不足のため、このイベントを記録できません。Memory was not available to record the event. マークとコメントは記録されません。The mark and comment are not recorded.
MARK_TEXTTOOLONGMARK_TEXTTOOLONG 文字列の長さが最大値の 256 文字を超えています。The string exceeds the maximum of 256 characters. コメント文字列は切り詰められ、マークとコメントが記録されます。The comment string is truncated and the mark and comment are recorded.
MARK_OKMARK_OK 成功した場合は MARK_OK が返されます。MARK_OK is returned to indicate success.

コメントRemarks

Mark コマンドまたは API 関数 (CommentMarkAtProfile、CommentMarkProfile、または MarkProfile) でマークとコメントが挿入されたとき、マークのプロファイル関数を含むスレッドでは、プロファイル状態をオンにする必要があります。The profiling state for the thread that contains the mark profile function must be on when marks and comments inserted with the Mark command or with API functions (CommentMarkAtProfile, CommentMarkProfile, or MarkProfile). プロファイル マークは、スコープ内でグローバルです。Profile marks are global in scope. たとえば、あるスレッドに挿入したプロファイルマークを、.vsp ファイル内の任意のスレッドで使用し、データ セグメントの開始または終了をマークできます。For example, a profile mark inserted in one thread can be used to mark the start or end of a data segment in any thread in the .vsp file.

重要

CommentMarkAtProfile メソッドは、インストルメンテーションでのみ使用してください。CommentMarkAtProfile methods should be used with instrumentation only.

同等の .NET Framework 関数.NET Framework Equivalent

Microsoft.VisualStudio.Profiler.dllMicrosoft.VisualStudio.Profiler.dll

関数の情報Function Information

HeaderHeader VSPerf.h をインクルードします。Include VSPerf.h
LibraryLibrary VSPerf.lib を使用します。Use VSPerf.lib
UnicodeUnicode CommentMarkAtProfileW (Unicode) と CommentMarkAtProfileA (ANSI) として実装されます。Implemented as CommentMarkAtProfileW (Unicode) and CommentMarkAtProfileA (ANSI).

Example

次のコードは、汎用関数呼び出しの CommentMarkAtProfile の使用を表しています。The following code illustrates the use of the CommentMarkAtProfile generic function call. この例では、コードで ANSI 対応関数を呼び出すかどうかを判断するために、Win32 文字列マクロおよび ANSI のコンパイラ設定が使用されていることを前提としています。The example assumes the use of Win32 string macros and the compiler settings for ANSI to determine whether the code calls the ANSI enabled function.

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  
}  

参照See Also

Visual Studio プロファイラー API リファレンス (ネイティブ)Visual Studio Profiler API Reference (Native)