The Gaudi Framework  master (b9786168)
Loading...
Searching...
No Matches
LibSymbolInfo.h
Go to the documentation of this file.
1/***********************************************************************************\
2* (c) Copyright 1998-2025 CERN for the benefit of the LHCb and ATLAS collaborations *
3* *
4* This software is distributed under the terms of the Apache version 2 licence, *
5* copied verbatim in the file "LICENSE". *
6* *
7* In applying this licence, CERN does not waive the privileges and immunities *
8* granted to it by virtue of its status as an Intergovernmental Organization *
9* or submit itself to any jurisdiction. *
10\***********************************************************************************/
11#pragma once
12
13// LibSymbolInfo.h: interface for the CLibSymbolInfo class.
14//
16
17#if !defined( AFX_LIBSYMBOLINFO_H__1A7003B4_BA53_11D1_AE46_1CFB51000000__INCLUDED_ )
18# define AFX_LIBSYMBOLINFO_H__1A7003B4_BA53_11D1_AE46_1CFB51000000__INCLUDED_
19
20# include <iostream>
21# include <string>
22
23# include <assert.h>
24# include <stdio.h>
25# include <windows.h>
26
28public:
30 virtual ~CLibSymbolInfo();
31 BOOL DumpSymbols( LPTSTR lpszLibPathName, std::ostream& pFile );
32 std::string GetLastError() const;
33
34protected:
35 std::string m_strResultsString;
36 std::string m_strErrorMsg;
37
38 BOOL Dump( LPTSTR lpszLibPathName, std::ostream& pFile );
39 BOOL IsRegularLibSymbol( PSTR pszSymbolName );
40 BOOL IsFiltedSymbol( std::string& pszSymbolName );
41 DWORD ConvertBigEndian( DWORD bigEndian );
42};
43
45
47public:
48 MEMORY_MAPPED_FILE( PSTR pszFileName );
49 ~MEMORY_MAPPED_FILE( void );
50
51 PVOID GetBase( void ) { return m_pMemoryMappedFileBase; }
52 DWORD GetFileSize( void ) { return m_cbFile; }
53 BOOL IsValid( void ) { return errMMF_NoError == m_errCode; }
55
56private:
57 HANDLE m_hFile;
58 HANDLE m_hFileMapping; // Handle of memory mapped file
60 DWORD m_cbFile;
62};
63
65
66#endif // !defined(AFX_LIBSYMBOLINFO_H__1A7003B4_BA53_11D1_AE46_1CFB51000000__INCLUDED_)
MEMORY_MAPPED_FILE * PMEMORY_MAPPED_FILE
errMMF
@ errMMF_NoError
@ errMMF_FileOpen
@ errMMF_FileMapping
@ errMMF_MapView
std::string m_strErrorMsg
std::string GetLastError() const
virtual ~CLibSymbolInfo()
BOOL IsRegularLibSymbol(PSTR pszSymbolName)
std::string m_strResultsString
BOOL IsFiltedSymbol(std::string &pszSymbolName)
BOOL Dump(LPTSTR lpszLibPathName, std::ostream &pFile)
DWORD ConvertBigEndian(DWORD bigEndian)
BOOL DumpSymbols(LPTSTR lpszLibPathName, std::ostream &pFile)
PVOID GetBase(void)
MEMORY_MAPPED_FILE(PSTR pszFileName)
DWORD GetFileSize(void)