Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
// This is a part of the Active Template Library.
// Copyright (C) 1996-2001 Microsoft Corporation
// All rights reserved.
//
// This source code is only intended as a supplement to the
// Active Template Library Reference and related
// electronic documentation provided with the library.
// See these sources for detailed information regarding the
// Active Template Library product.
#ifndef ATLDEBUG_SHAREDMEORY_ALLOCATOR_HEADER
#define ATLDEBUG_SHAREDMEORY_ALLOCATOR_HEADER
class CAtlTraceProcess; class CAtlTraceModule; class CAtlTraceCategory;
class CTraceSnapshot { public: struct CModuleInfo { DWORD_PTR m_dwModule; int m_nCategories; int m_iFirstCategory; };
public: CSimpleArray< CModuleInfo > m_aModules; CSimpleArray< DWORD_PTR > m_adwCategories; };
class CAtlAllocator { public: CAtlAllocator() : m_dwPageSize(0), m_hMap(NULL), m_bValid(false), m_pProcess(NULL), m_bSnapshot(false) { }
~CAtlAllocator() { Close(); }
bool Init(const CHAR *pszFileMappingName, DWORD dwMaxSize); bool Open(const CHAR *pszFileMappingName); void Close(bool bForceUnmap = false); bool IsValid() const {return m_bValid;}
CAtlTraceProcess *GetProcess() const {return m_pProcess;} CAtlTraceModule *GetModule(int iModule) const; // CAtlTraceCategory *GetCategory(int iModule, unsigned nCategory) const;
CAtlTraceCategory* GetCategory(int iCategory) const;
/*
bool Lock(DWORD dwTimeOut); void Unlock(); */
bool LoadSettings(const CHAR *pszFileName); bool LoadSettings(const WCHAR *pszFileName); bool SaveSettings(const CHAR *pszFileName); bool SaveSettings(const WCHAR *pszFileName);
int GetModuleCount() const; int GetCategoryCount(int iModule) const; int GetCategoryCount(const CAtlTraceModule& Module) const;
int AddModule(HINSTANCE hInst); int AddCategory(int iModule, const WCHAR *szCategoryName);
bool RemoveModule(int iModule);
void CleanUp();
void TakeSnapshot(); void ReleaseSnapshot();
CTraceSnapshot m_snapshot; bool m_bSnapshot;
private: CAtlTraceProcess *m_pProcess; DWORD m_dwPageSize; HANDLE m_hMap; bool m_bValid; BYTE *m_pBufferStart; };
#endif // ATLDEBUG_SHAREDMEORY_ALLOCATOR_HEADER
|