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 함수가 포함된 스레드에 대한 프로파일링이 ON이어야 합니다.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)를 사용하여 삽입한 경우 표시 프로필 함수를 포함하는 스레드의 프로파일링 상태는 ON입니다.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

헤더Header VSPerf.h 포함Include VSPerf.h
라이브러리Library VSPerf.lib 사용Use VSPerf.lib
유니코드Unicode CommentMarkAtProfileW(유니코드) 및 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)