pwOrds = (PWORD)RvaToPtr(pNtH, stMapFile.ImageBase,pExportDir->AddressOfNameOrdinals);
pdwRvas = (PDWORD)RvaToPtr(pNtH, stMapFile.ImageBase,pExportDir->AddressOfFunctions);
//va
pdwNames = (PDWORD)RvaToPtr(pNtH, stMapFile.ImageBase,pExportDir->AddressOfNames);
if
(!pdwRvas)
return
;
hList=GetDlgItem(hDlg,IDC_EXPORT_LIST);
SendMessage(hList,LVM_SETEXTENDEDLISTVIEWSTYLE,0,(LPARAM)LVS_EX_FULLROWSELECT);
iNumOfName=pExportDir->NumberOfNames;
for
( i=0;i<pExportDir->NumberOfFunctions;i++)
//i
<AddressOfFunctions 中个元素个数
{
if
(*pdwRvas)
//AddressOfFunctions
VA != NULL
{
for
( j=0;j<iNumOfName;j++)
//
j < NumberOfNames
{
if
(i==pwOrds[j])
//pwOrds
is a pointer to AddressOfNameOrdinals
{
bIsByName=TRUE;
szFuncName=(char*)RvaToPtr(pNtH,stMapFile.ImageBase,pdwNames[j]);
break
;
}
bIsByName=FALSE;
}