Definition at line 58 of file genwindef.cc.
CLibSymbolInfo::CLibSymbolInfo |
( |
| ) |
|
CLibSymbolInfo::~CLibSymbolInfo |
( |
| ) |
|
|
virtual |
DWORD CLibSymbolInfo::ConvertBigEndian |
( |
DWORD |
bigEndian | ) |
|
|
protected |
Definition at line 270 of file genwindef.cc.
Referenced by Dump().
274 temp |= bigEndian >> 24;
275 temp |= ((bigEndian & 0x00FF0000) >> 8);
276 temp |= ((bigEndian & 0x0000FF00) << 8);
277 temp |= ((bigEndian & 0x000000FF) << 24);
BOOL CLibSymbolInfo::Dump |
( |
LPTSTR |
lpszLibPathName, |
|
|
std::ostream & |
pFile |
|
) |
| |
|
protected |
Definition at line 154 of file genwindef.cc.
References ConvertBigEndian(), MEMORY_MAPPED_FILE::GetBase(), IsFiltedSymbol(), IsRegularLibSymbol(), MEMORY_MAPPED_FILE::IsValid(), m_strErrorMsg, and MakePtr.
Referenced by DumpSymbols().
160 if( FALSE == libFile.IsValid() ) {
168 PSTR pArchiveStartString = (PSTR)libFile.GetBase();
170 if ( 0 != strncmp( pArchiveStartString, IMAGE_ARCHIVE_START,
171 IMAGE_ARCHIVE_START_SIZE ) ) {
178 PIMAGE_ARCHIVE_MEMBER_HEADER pMbrHdr;
179 pMbrHdr =
MakePtr( PIMAGE_ARCHIVE_MEMBER_HEADER, pArchiveStartString,
180 IMAGE_ARCHIVE_START_SIZE );
183 PDWORD pcbSymbols = (PDWORD)(pMbrHdr + 1);
191 PDWORD pMemberOffsets = pcbSymbols + 1;
195 PSTR pszSymbolName =
MakePtr( PSTR, pMemberOffsets, 4 * cSymbols );
200 for (
unsigned i = 0; i < cSymbols; i++ )
212 string symbol(pszSymbolName);
214 pFile << symbol << endl;
221 pszSymbolName += strlen(pszSymbolName) + 1;
BOOL IsFiltedSymbol(std::string &pszSymbolName)
DWORD ConvertBigEndian(DWORD bigEndian)
#define MakePtr(cast, ptr, addValue)
BOOL IsRegularLibSymbol(PSTR pszSymbolName)
std::string m_strErrorMsg
BOOL CLibSymbolInfo::DumpSymbols |
( |
LPTSTR |
lpszLibPathName, |
|
|
std::ostream & |
pFile |
|
) |
| |
Definition at line 130 of file genwindef.cc.
References Dump(), and m_strErrorMsg.
Referenced by main().
132 if(lpszLibPathName == NULL || pFile.bad() ) {
133 assert(lpszLibPathName != NULL);
134 assert(pFile.good());
135 m_strErrorMsg.assign(
"NULL <lpszLibPathName> or Invalid file handle.");
139 if(!
Dump(lpszLibPathName, pFile))
return FALSE;
BOOL Dump(LPTSTR lpszLibPathName, std::ostream &pFile)
std::string m_strErrorMsg
string CLibSymbolInfo::GetLastError |
( |
| ) |
const |
BOOL CLibSymbolInfo::IsFiltedSymbol |
( |
std::string & |
pszSymbolName | ) |
|
|
protected |
Definition at line 246 of file genwindef.cc.
Referenced by Dump().
249 if ( symbolName.substr(0,3) ==
"_CT" )
return FALSE;
250 if ( symbolName.substr(0,3) ==
"_TI" )
return FALSE;
252 if ( symbolName.substr(0,2) ==
"__" )
254 if ( symbolName.substr(0,3) ==
"??_" && symbolName[3] !=
'0')
256 if( symbolName[0] ==
'_') {
257 symbolName.erase(0, 1);
260 if (symbolName.find (
"detail@boost") != string::npos )
262 if (symbolName.find (
"details@boost") != string::npos )
BOOL CLibSymbolInfo::IsRegularLibSymbol |
( |
PSTR |
pszSymbolName | ) |
|
|
protected |
Definition at line 230 of file genwindef.cc.
Referenced by Dump().
232 if ( 0 == strncmp( pszSymbolName,
"__IMPORT_DESCRIPTOR_", 20 ) )
235 if ( 0 == strncmp( pszSymbolName,
"__NULL_IMPORT_DESCRIPTOR", 24 ) )
238 if ( strstr( pszSymbolName,
"_NULL_THUNK_DATA" ) )
std::string CLibSymbolInfo::m_strErrorMsg |
|
protected |
std::string CLibSymbolInfo::m_strResultsString |
|
protected |
The documentation for this class was generated from the following file: