다음을 통해 공유


IDebugDocumentContext2::GetStatementRange

문서 컨텍스트의 파일 문 범위를 가져옵니다.

구문

int GetStatementRange(
    TEXT_POSITION[] pBegPosition,
    TEXT_POSITION[] pEndPosition
);

매개 변수

pBegPosition
[in, out] 시작 위치로 채워진 TEXT_POSITION 구조체입니다. 이 정보가 필요하지 않은 경우 이 인수를 null 값으로 설정합니다.

pEndPosition
[in, out] 종료 위치로 채워진 TEXT_POSITION 구조체입니다. 이 정보가 필요하지 않은 경우 이 인수를 null 값으로 설정합니다.

Return Value

성공하면 S_OK를 반환하고, 실패하면 오류 코드를 반환합니다.

설명

문 범위는 이 문서 컨텍스트가 참조하는 코드를 제공한 줄의 범위입니다.

이 문서 컨텍스트 내에서 소스 코드 범위(주석 포함)를 가져오려면 GetSourceRange 메서드를 호출합니다.

예시

다음 예제에서는 IDebugDocumentContext2 인터페이스를 노출하는 간단한 CDebugContext 개체에 대해 이 메서드를 구현하는 방법을 보여 줍니다. 예제에서는 시작 위치가 null 값이 아닌 경우에만 끝 위치를 채웁니다.

HRESULT CDebugContext::GetStatementRange(TEXT_POSITION* pBegPosition,
                                         TEXT_POSITION* pEndPosition)
{
    HRESULT hr;

    // Check for a valid beginning position argument pointer.
    if (pBegPosition)
    {
        // Copy the member TEXT_POSITION into the local pBegPosition.
        memcpy(pBegPosition, &m_pos, sizeof (TEXT_POSITION));

        // Check for a valid ending position argument pointer.
        if (pEndPosition)
        {
            // Copy the member TEXT_POSITION into the local pEndPosition.
            memcpy(pEndPosition, &m_pos, sizeof (TEXT_POSITION));
        }
        hr = S_OK;
    }
    else
    {
        hr = E_INVALIDARG;
    }

    return hr;
}

참고 항목