IDiaSession::findLinesByAddr
지정된 주소가 포함된 지정된 컴파일의 줄을 검색합니다.
구문
HRESULT findLinesByAddr (
DWORD seg,
DWORD offset,
DWORD length,
IDiaEnumLineNumbers** ppResult
);
매개 변수
seg
[in] 특정 주소의 섹션 구성 요소를 지정합니다.
offset
[in] 특정 주소의 오프셋 구성 요소를 지정합니다.
length
[in] 이 쿼리로 처리할 주소 범위의 바이트 수를 지정합니다.
ppResult
[out] 지정된 주소 범위를 처리할 줄 번호의 목록을 포함하는 IDiaEnumLineNumbers 개체를 반환합니다.
Return Value
성공하면 S_OK
를 반환하고, 실패하면 오류 코드를 반환합니다.
예시
이 예에서는 함수의 주소 및 길이를 사용하여 함수에 포함된 모든 줄 번호를 가져오는 함수를 보여 줍니다.
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->findLinesByAddr( seg, offset, static_cast<DWORD>( length ), &pEnum );
}
return(pEnum);
}