MarkProfileMarkProfile

MarkProfile 메서드는 .vsp 파일에 프로필 표시를 삽입합니다.The MarkProfile method inserts a profile mark in the .vsp file. 해당 표시를 삽입하려면 MarkProfile 함수를 포함하는 스레드에 대한 프로파일링이 ON이어야 합니다.Profiling for the thread containing the MarkProfile function must be ON for the mark to be inserted.

구문Syntax

PROFILE_COMMAND_STATUS PROFILERAPI MarkProfile( long lMarker );  

매개 변수Parameters

lMarker

삽입할 표식입니다.The marker to insert. 표식은 0보다 크거나 같아야 합니다.The marker must be greater than or equal to 0 (zero).

속성 값/반환 값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

MarkProfile 함수를 포함하는 스레드가 프로파일링되면 코드가 실행될 때마다 .vsp 파일에 표시 값이 삽입됩니다.The mark value is inserted into the .vsp file each time the code runs if the thread containing the MarkProfile function is being profiled. MarkProfile을 여러 번 호출할 수 있습니다.You can call MarkProfile multiple times.

프로필 표시는 범위 내에서 전역입니다.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.

표시 및 주석을 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).

중요

MarkProfile 메서드는 계측 프로파일링에서만 사용해야 합니다.MarkProfile method should be used with instrumentation profiling only.

.NET Framework의 해당 값.NET Framework Equivalent

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

함수 정보Function Information

헤더: VSPerf.h에서 선언됨Header: Declared in VSPerf.h

가져오기 라이브러리: VSPerf.libImport library: VSPerf.lib

예제Example

다음 코드에서는 MarkProfile 함수를 보여 줍니다.The following code illustrates the MarkProfile function.

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  
}  

참고 항목See Also

Visual Studio 프로파일러 API 참조(네이티브)Visual Studio Profiler API Reference (Native)