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);
}