Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  v31r0 (aeb156f0)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules 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 # include <iostream>
9 # include <string>
10 
11 # include <assert.h>
12 # include <stdio.h>
13 # include <windows.h>
14 
16 public:
18  virtual ~CLibSymbolInfo();
19  BOOL DumpSymbols( LPTSTR lpszLibPathName, std::ostream& pFile );
20  std::string GetLastError() const;
21 
22 protected:
25 
26  BOOL Dump( LPTSTR lpszLibPathName, std::ostream& pFile );
27  BOOL IsRegularLibSymbol( PSTR pszSymbolName );
28  BOOL IsFiltedSymbol( std::string& pszSymbolName );
29  DWORD ConvertBigEndian( DWORD bigEndian );
30 };
31 
33 
35 public:
36  MEMORY_MAPPED_FILE( PSTR pszFileName );
37  ~MEMORY_MAPPED_FILE( void );
38 
39  PVOID GetBase( void ) { return m_pMemoryMappedFileBase; }
40  DWORD GetFileSize( void ) { return m_cbFile; }
41  BOOL IsValid( void ) { return errMMF_NoError == m_errCode; }
42  errMMF GetErrorType() { return m_errCode; }
43 
44 private:
45  HANDLE m_hFile;
46  HANDLE m_hFileMapping; // Handle of memory mapped file
48  DWORD m_cbFile;
50 };
51 
53 
54 #endif // !defined(AFX_LIBSYMBOLINFO_H__1A7003B4_BA53_11D1_AE46_1CFB51000000__INCLUDED_)
PVOID GetBase(void)
Definition: LibSymbolInfo.h:39
std::string GetLastError() const
std::string m_strResultsString
Definition: LibSymbolInfo.h:23
MEMORY_MAPPED_FILE * PMEMORY_MAPPED_FILE
Definition: LibSymbolInfo.h:52
STL class.
DWORD GetFileSize(void)
Definition: LibSymbolInfo.h:40
BOOL Dump(LPTSTR lpszLibPathName, std::ostream &pFile)
std::string m_strErrorMsg
Definition: LibSymbolInfo.h:24
BOOL IsValid(void)
Definition: LibSymbolInfo.h:41
errMMF
Definition: LibSymbolInfo.h:32
BOOL IsFiltedSymbol(std::string &pszSymbolName)
PVOID m_pMemoryMappedFileBase
Definition: LibSymbolInfo.h:47
DWORD ConvertBigEndian(DWORD bigEndian)
STL class.
BOOL DumpSymbols(LPTSTR lpszLibPathName, std::ostream &pFile)
virtual ~CLibSymbolInfo()
BOOL IsRegularLibSymbol(PSTR pszSymbolName)