다음을 통해 공유


IDiaSession::findILOffsetsByAddr

클라이언트가 지정된 주소 범위 내에서 MSIL 오프셋을 반복할 수 있도록 하는 열거형을 검색합니다.

구문

HRESULT findILOffsetsByAddr (
    DWORD isect,
    DWORD offset,
    DWORD length,
    IDiaEnumLineNumbers** ppResult
);

매개 변수

isect

[in] 특정 주소의 섹션 구성 요소를 지정합니다.

offset

[in] 특정 주소의 오프셋 구성 요소를 지정합니다.

length

[in] 이 쿼리로 처리할 주소 범위의 바이트 수를 지정합니다.

ppResult

[out] IDiaEnumLineNumbers 지정된 주소 범위를 포함하는 모든 MSIL 오프셋 목록을 포함하는 개체를 반환합니다.

Return Value

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

예시

이 예제에서는 함수의 주소와 길이를 사용하여 함수에 포함된 모든 MSIL 오프셋을 가져오는 함수를 보여 줍니다.

IDiaEnumLineNumbers* GetLineNumbersByAddr(IDiaSymbol *pFunc,
                                          IDiaSession *pSession)
{
    IDiaEnumLineNumbers* pEnum = NULL;
    DWORD                seg;
    DWORD                offset;
    ULONGLONG            length;

    if (pFunc->get_addressSection ( &seg ) == S_OK &&
        pFunc->get_addressOffset ( &offset ) == S_OK)
    {
        pFunc->get_length ( &length );
        pSession->findILOffsetsByAddr( seg, offset, static_cast<DWORD>( length ), &pEnum );
    }
    return(pEnum);
}

참고 항목