| The Gaudi Framework v27r1

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

LibSymbolInfo.h
Go to the documentation of this file.
1 // LibSymbolInfo.h: interface for the CLibSymbolInfo class.
2 //
4
5 #if !defined(AFX_LIBSYMBOLINFO_H__1A7003B4_BA53_11D1_AE46_1CFB51000000__INCLUDED_)
6 #define AFX_LIBSYMBOLINFO_H__1A7003B4_BA53_11D1_AE46_1CFB51000000__INCLUDED_
7
8 #include <string>
9 #include <iostream>
10
11 #include <stdio.h>
12 #include <assert.h>
13 #include <windows.h>
14
15 class CLibSymbolInfo
16 {
17 public:
18 CLibSymbolInfo();
19 virtual ~CLibSymbolInfo();
20 BOOL DumpSymbols(LPTSTR lpszLibPathName, std::ostream& pFile);
21 std::string GetLastError() const;
22
23 protected:
24 std::string m_strResultsString;
25 std::string m_strErrorMsg;
26
27 BOOL Dump(LPTSTR lpszLibPathName, std::ostream& pFile);
28 BOOL IsRegularLibSymbol( PSTR pszSymbolName );
29 BOOL IsFiltedSymbol( std::string& pszSymbolName );
30 DWORD ConvertBigEndian(DWORD bigEndian);
31 };
32
33 enum errMMF { errMMF_NoError, errMMF_FileOpen,
34 errMMF_FileMapping, errMMF_MapView };
35
36 class MEMORY_MAPPED_FILE
37 {
38 public:
39 MEMORY_MAPPED_FILE( PSTR pszFileName );
40 ~MEMORY_MAPPED_FILE(void);
41
42 PVOID GetBase( void ){ return m_pMemoryMappedFileBase; }
43 DWORD GetFileSize( void ){ return m_cbFile; }
44 BOOL IsValid( void ) { return errMMF_NoError == m_errCode; }
45 errMMF GetErrorType(){ return m_errCode; }
46
47 private:
48
49 HANDLE m_hFile;
50 HANDLE m_hFileMapping; // Handle of memory mapped file
51 PVOID m_pMemoryMappedFileBase;
52 DWORD m_cbFile;
53 errMMF m_errCode;
54 };
55
56 typedef MEMORY_MAPPED_FILE* PMEMORY_MAPPED_FILE;
57
58 #endif // !defined(AFX_LIBSYMBOLINFO_H__1A7003B4_BA53_11D1_AE46_1CFB51000000__INCLUDED_)
MEMORY_MAPPED_FILE::GetBase
PVOID GetBase(void)
Definition: LibSymbolInfo.h:42
CLibSymbolInfo::GetLastError
std::string GetLastError() const
Definition: LibSymbolInfo.cpp:191
errMMF_FileOpen
Definition: LibSymbolInfo.h:33
CLibSymbolInfo::CLibSymbolInfo
CLibSymbolInfo()
Definition: LibSymbolInfo.cpp:23
errMMF_MapView
Definition: LibSymbolInfo.h:34
CLibSymbolInfo::m_strResultsString
std::string m_strResultsString
Definition: LibSymbolInfo.h:24
PMEMORY_MAPPED_FILE
MEMORY_MAPPED_FILE * PMEMORY_MAPPED_FILE
Definition: LibSymbolInfo.h:56
MEMORY_MAPPED_FILE::~MEMORY_MAPPED_FILE
~MEMORY_MAPPED_FILE(void)
Definition: LibSymbolInfo.cpp:243
std::string
STL class.
MEMORY_MAPPED_FILE::GetErrorType
errMMF GetErrorType()
Definition: LibSymbolInfo.h:45
MEMORY_MAPPED_FILE::GetFileSize
DWORD GetFileSize(void)
Definition: LibSymbolInfo.h:43
CLibSymbolInfo
Definition: LibSymbolInfo.h:15
CLibSymbolInfo::Dump
BOOL Dump(LPTSTR lpszLibPathName, std::ostream &pFile)
Definition: LibSymbolInfo.cpp:67
errMMF_FileMapping
Definition: LibSymbolInfo.h:34
CLibSymbolInfo::m_strErrorMsg
std::string m_strErrorMsg
Definition: LibSymbolInfo.h:25
MEMORY_MAPPED_FILE::IsValid
BOOL IsValid(void)
Definition: LibSymbolInfo.h:44
MEMORY_MAPPED_FILE
Definition: LibSymbolInfo.h:36
MEMORY_MAPPED_FILE::m_cbFile
DWORD m_cbFile
Definition: LibSymbolInfo.h:52
MEMORY_MAPPED_FILE::m_errCode
errMMF m_errCode
Definition: LibSymbolInfo.h:53
errMMF
errMMF
Definition: LibSymbolInfo.h:33
MEMORY_MAPPED_FILE::m_hFile
HANDLE m_hFile
Definition: LibSymbolInfo.h:49
CLibSymbolInfo::IsFiltedSymbol
BOOL IsFiltedSymbol(std::string &pszSymbolName)
Definition: LibSymbolInfo.cpp:159
MEMORY_MAPPED_FILE::m_pMemoryMappedFileBase
PVOID m_pMemoryMappedFileBase
Definition: LibSymbolInfo.h:51
CLibSymbolInfo::ConvertBigEndian
DWORD ConvertBigEndian(DWORD bigEndian)
Definition: LibSymbolInfo.cpp:179
MEMORY_MAPPED_FILE::MEMORY_MAPPED_FILE
MEMORY_MAPPED_FILE(PSTR pszFileName)
Definition: LibSymbolInfo.cpp:197
MEMORY_MAPPED_FILE::m_hFileMapping
HANDLE m_hFileMapping
Definition: LibSymbolInfo.h:50
std::ostream
STL class.
CLibSymbolInfo::DumpSymbols
BOOL DumpSymbols(LPTSTR lpszLibPathName, std::ostream &pFile)
Definition: LibSymbolInfo.cpp:43
errMMF_NoError
Definition: LibSymbolInfo.h:33
CLibSymbolInfo::~CLibSymbolInfo
virtual ~CLibSymbolInfo()
Definition: LibSymbolInfo.cpp:27
CLibSymbolInfo::IsRegularLibSymbol
BOOL IsRegularLibSymbol(PSTR pszSymbolName)
Definition: LibSymbolInfo.cpp:143