다음을 통해 공유


IDiaSession::findILOffsetsByVA

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

구문

HRESULT findILOffsetsByVA (
    ULONGLONG va,
    DWORD length,
    IDiaEnumLineNumbers** ppResult
);

매개 변수

va

[in] 주소를 VA로 지정합니다.

length

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

ppResult

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

Return Value

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

예시

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

IDiaEnumLineNumbers* GetLineNumbersByAddr(IDiaSymbol *pFunc,
                                          IDiaSession *pSession)
{
    IDiaEnumLineNumbers* pEnum = NULL;
    ULONGLONG            va = 0;
    ULONGLONG            length = 0;

    if (pFunc->get_virtualAddress ( &rva ) == S_OK)
    {
        pFunc->get_length ( &length );
        pSession->findILOffsetsByVA( va, static_cast<DWORD>( length ), &pEnum );
    }
    return(pEnum);
}

참고 항목