Gaudi Framework, version v23r4

Home   Generated: Mon Sep 17 2012

LibSymbolInfo.h

Go to the documentation of this file.
00001 // LibSymbolInfo.h: interface for the CLibSymbolInfo class.
00002 //
00004 
00005 #if !defined(AFX_LIBSYMBOLINFO_H__1A7003B4_BA53_11D1_AE46_1CFB51000000__INCLUDED_)
00006 #define AFX_LIBSYMBOLINFO_H__1A7003B4_BA53_11D1_AE46_1CFB51000000__INCLUDED_
00007 
00008 #if _MSC_VER >= 1000
00009 #pragma once
00010 #endif // _MSC_VER >= 1000
00011 
00012 #include <string>
00013 #include <iostream>
00014 
00015 #include <stdio.h>
00016 #include <assert.h>
00017 #include <windows.h>
00018 
00019 class CLibSymbolInfo  
00020 {
00021 public:
00022   CLibSymbolInfo();
00023   virtual ~CLibSymbolInfo();
00024   BOOL DumpSymbols(LPTSTR lpszLibPathName, std::ostream& pFile);
00025   std::string GetLastError() const;
00026 
00027 protected:
00028   std::string m_strResultsString;
00029   std::string m_strErrorMsg;
00030 
00031   BOOL Dump(LPTSTR lpszLibPathName, std::ostream& pFile); 
00032   BOOL IsRegularLibSymbol( PSTR pszSymbolName );
00033   BOOL IsFiltedSymbol( std::string& pszSymbolName );
00034   DWORD ConvertBigEndian(DWORD bigEndian);
00035 };
00036 
00037 enum errMMF {   errMMF_NoError, errMMF_FileOpen,
00038                 errMMF_FileMapping, errMMF_MapView };
00039 
00040 class MEMORY_MAPPED_FILE
00041 {
00042   public:   
00043   MEMORY_MAPPED_FILE( PSTR pszFileName );
00044   ~MEMORY_MAPPED_FILE(void);
00045     
00046   PVOID   GetBase( void ){ return m_pMemoryMappedFileBase; }
00047   DWORD   GetFileSize( void ){ return m_cbFile; }
00048   BOOL    IsValid( void ) { return errMMF_NoError == m_errCode; } 
00049   errMMF  GetErrorType(){ return m_errCode; }
00050 
00051   private:
00052 
00053   HANDLE      m_hFile;
00054   HANDLE      m_hFileMapping; // Handle of memory mapped file
00055   PVOID       m_pMemoryMappedFileBase;
00056   DWORD       m_cbFile;
00057   errMMF      m_errCode;  
00058 };
00059 
00060 typedef MEMORY_MAPPED_FILE* PMEMORY_MAPPED_FILE;
00061 
00062 #endif // !defined(AFX_LIBSYMBOLINFO_H__1A7003B4_BA53_11D1_AE46_1CFB51000000__INCLUDED_)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines

Generated at Mon Sep 17 2012 13:49:35 for Gaudi Framework, version v23r4 by Doxygen version 1.7.2 written by Dimitri van Heesch, © 1997-2004