| # Gaudi Framework, version v25r0 |

Home |  | Generated: Mon Feb 17 2014

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

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 #if _MSC_VER >= 1000
9 #pragma once
10 #endif // _MSC_VER >= 1000
11
12 #include <string>
13 #include <iostream>
14
15 #include <stdio.h>
16 #include <assert.h>
17 #include <windows.h>
18
19 class CLibSymbolInfo
20 {
21 public:
22 CLibSymbolInfo();
23 virtual ~CLibSymbolInfo();
24 BOOL DumpSymbols(LPTSTR lpszLibPathName, std::ostream& pFile);
25 std::string GetLastError() const;
26
27 protected:
28 std::string m_strResultsString;
29 std::string m_strErrorMsg;
30
31 BOOL Dump(LPTSTR lpszLibPathName, std::ostream& pFile);
32 BOOL IsRegularLibSymbol( PSTR pszSymbolName );
33 BOOL IsFiltedSymbol( std::string& pszSymbolName );
34 DWORD ConvertBigEndian(DWORD bigEndian);
35 };
36
37 enum errMMF { errMMF_NoError, errMMF_FileOpen,
38 errMMF_FileMapping, errMMF_MapView };
39
40 class MEMORY_MAPPED_FILE
41 {
42 public:
43 MEMORY_MAPPED_FILE( PSTR pszFileName );
44 ~MEMORY_MAPPED_FILE(void);
45
46 PVOID GetBase( void ){ return m_pMemoryMappedFileBase; }
47 DWORD GetFileSize( void ){ return m_cbFile; }
48 BOOL IsValid( void ) { return errMMF_NoError == m_errCode; }
49 errMMF GetErrorType(){ return m_errCode; }
50
51 private:
52
53 HANDLE m_hFile;
54 HANDLE m_hFileMapping; // Handle of memory mapped file
55 PVOID m_pMemoryMappedFileBase;
56 DWORD m_cbFile;
57 errMMF m_errCode;
58 };
59
60 typedef MEMORY_MAPPED_FILE* PMEMORY_MAPPED_FILE;
61
62 #endif // !defined(AFX_LIBSYMBOLINFO_H__1A7003B4_BA53_11D1_AE46_1CFB51000000__INCLUDED_)