| 230 | } |
| 231 | |
| 232 | void TreeImportExport::parseAllElementModules(TiXmlElement * targetElement, std::map<DWORD_PTR, ImportModuleThunk> & moduleList) |
| 233 | { |
| 234 | ImportModuleThunk importModuleThunk; |
| 235 | |
| 236 | for(TiXmlElement * moduleElement = targetElement->FirstChildElement(); moduleElement; moduleElement = moduleElement->NextSiblingElement()) |
| 237 | { |
| 238 | const char * filename = moduleElement->Attribute("filename"); |
| 239 | if (filename) |
| 240 | { |
| 241 | StringConversion::ToUTF16(filename, importModuleThunk.moduleName, _countof(importModuleThunk.moduleName)); |
| 242 | |
| 243 | importModuleThunk.firstThunk = ConvertStringToDwordPtr(moduleElement->Attribute("first_thunk_rva")); |
| 244 | |
| 245 | importModuleThunk.thunkList.clear(); |
| 246 | parseAllElementImports(moduleElement, &importModuleThunk); |
| 247 | |
| 248 | moduleList[importModuleThunk.firstThunk] = importModuleThunk; |
| 249 | } |
| 250 | } |
| 251 | } |
| 252 | |
| 253 | void TreeImportExport::parseAllElementImports(TiXmlElement * moduleElement, ImportModuleThunk * importModuleThunk) |
| 254 | { |
nothing calls this directly
no outgoing calls
no test coverage detected