Solution46
LibNewDel::CLibNewDel クラスfinal

生成消滅演算子ライブラリクラス [詳解]

#include "LibNewDel.h"

LibNewDel::CLibNewDel の継承関係図
Inheritance graph
LibNewDel::CLibNewDel 連携図
Collaboration graph

クラス

struct  SMappingInfo
 共有メモリ情報構造体 [詳解]
 
struct  SProcessInfo
 参照プロセス情報構造体 [詳解]
 

公開メンバ関数

virtual bool & GetLogOutFlag () noexcept
 ログ出力許可状態取得関数 [詳解]
 
virtual void NotifyOperatorNew (void *pAddr, size_t uSize, wchar_t const *pszFuncName) noexcept
 生成演算子実行通知関数 [詳解]
 
virtual void NotifyOperatorDelete (void *pAddr, size_t uSize, wchar_t const *pszFuncName) noexcept
 消滅演算子実行通知関数 [詳解]
 
- 基底クラス LibCommon::CMapping に属する継承公開メンバ関数
 CMapping () noexcept
 コンストラクタ [詳解]
 
virtual ~CMapping () noexcept
 デストラクタ [詳解]
 
virtual HANDLE GetHandle () const noexcept override
 マッピングハンドル取得関数 [詳解]
 
virtual LPVOID GetView () const noexcept
 ビューポインタ取得関数 [詳解]
 
virtual void Close () noexcept override
 クローズ関数 [詳解]
 
virtual bool Create (DWORD dwSize, wchar_t const *pszObjectName=nullptr) noexcept
 作成関数 [詳解]
 
virtual bool Open (wchar_t const *pszObjectName) noexcept override
 オープン関数 [詳解]
 
- 基底クラス LibCommon::CMutex に属する継承公開メンバ関数
 CMutex () noexcept
 コンストラクタ [詳解]
 
virtual ~CMutex () noexcept
 デストラクタ [詳解]
 
virtual bool Release () noexcept override
 リリース関数 [詳解]
 
virtual bool Lock (DWORD dwTime=INFINITE) noexcept override
 ロック関数 [詳解]
 
virtual bool Unlock () noexcept override
 ロック解除関数 [詳解]
 
virtual bool Create (wchar_t const *pszObjectName=nullptr) noexcept
 作成関数 [詳解]
 
- 基底クラス LibCommon::CSync に属する継承公開メンバ関数
 CSync () noexcept
 コンストラクタ [詳解]
 
virtual ~CSync () noexcept
 デストラクタ [詳解]
 
virtual bool IsCreate () const noexcept
 新規作成状態取得関数 [詳解]
 
virtual bool Wait (DWORD dwTime=INFINITE) noexcept
 ウェイト関数 [詳解]
 

静的公開メンバ関数

static CLibNewDelGetInstance () noexcept
 インスタンス取得関数 [詳解]
 
static wchar_t const * GetProjectType () noexcept
 プロジェクト種別取得関数 [詳解]
 
static HINSTANCE GetInstanceHandle () noexcept
 インスタンスハンドル取得関数 [詳解]
 

限定公開メンバ関数

 CLibNewDel () noexcept
 コンストラクタ [詳解]
 
virtual ~CLibNewDel () noexcept
 デストラクタ [詳解]
 
virtual bool UpdateProcessInfo (bool bCurrent=false) noexcept
 プロセス情報更新関数 [詳解]
 
virtual void LogOutOperatorNewDelete (int nCount, void *pAddr, size_t uSize, LONGLONG nTotalSize, LONGLONG nMaxSize, wchar_t const *pszFuncName) noexcept
 生成消滅演算子ログ出力関数 [詳解]
 

限定公開変数類

SMappingInfom_psMappingInfo
 共有メモリ情報構造体ポインタ [詳解]
 
bool m_bLogOut
 ログ出力許可フラグ [詳解]
 
- 基底クラス LibCommon::CMapping に属する継承限定公開変数類
HANDLE m_hMapping
 マッピングハンドル [詳解]
 
LPVOID m_pView
 ビューポインタ [詳解]
 
- 基底クラス LibCommon::CMutex に属する継承限定公開変数類
DWORD m_dwLockCount
 ロックカウント [詳解]
 
- 基底クラス LibCommon::CSync に属する継承限定公開変数類
HANDLE m_hObject
 オブジェクトハンドル [詳解]
 
bool m_bIsCreate
 新規作成フラグ [詳解]
 

静的限定公開変数類

static int const PROCESS_MAX = 256
 最大参照プロセス数 [詳解]
 
static wchar_t const *const OBJECT_NAME = L"LibNewDel::CLibNewDel"
 オブジェクト名 [詳解]
 
static CLibNewDel s_cInstance
 静的インスタンス [詳解]
 
- 基底クラス LibCommon::CMapping に属する継承静的限定公開変数類
static wchar_t const *const OBJECT_NAME_EXT = L".CMapping"
 オブジェクト名拡張子 [詳解]
 
- 基底クラス LibCommon::CMutex に属する継承静的限定公開変数類
static wchar_t const *const OBJECT_NAME_EXT = L".CMutex"
 オブジェクト名拡張子 [詳解]
 

非公開メンバ関数

 CLibNewDel (CLibNewDel const &)=delete
 
CLibNewDeloperator= (CLibNewDel const &)=delete
 

詳解

生成消滅演算子ライブラリクラス

生成消滅演算子ライブラリクラスです。

注意
シングルトンクラスです。

LibNewDel.h38 行目に定義があります。

構築子と解体子

LibNewDel::CLibNewDel::CLibNewDel ( )
explicitprotectednoexcept

コンストラクタ

コンストラクタです。

引数
なし
戻り値
なし
注意
なし

LibNewDel.cpp36 行目に定義があります。

参照先 LibCommon::CMapping::Close(), LibCommon::CMapping::Create(), LibCommon::CMapping::GetView(), LibNewDel::CLibNewDel::SProcessInfo::m_dwProcessId, LibNewDel::CLibNewDel::SMappingInfo::m_nReffer, m_psMappingInfo, LibNewDel::CLibNewDel::SMappingInfo::m_sProcess, NotifyConstructor, NotifyFatalError, OBJECT_NAME, PROCESS_MAX.

38  : CMapping()
39  // メンバ変数初期化
40  , m_psMappingInfo( nullptr )
41  , m_bLogOut( false )
42  {
43  // コンストラクタ実行通知
45 
46  // 処理ブロック
47  bool result = false;
48  do {
49  // マッピングメモリを作成する
50  if ( !Create( sizeof( SMappingInfo ), OBJECT_NAME ) ) {
51  // 失敗!
52  break;
53  }
54  // 同期処理ブロック
55  else do {
56  CSyncAuto cSyncAuto( *this );
57 
58  // 共有メモリ情報構造体ポインタを取得する
59  m_psMappingInfo = reinterpret_cast< SMappingInfo* >( GetView() );
60  if ( nullptr == m_psMappingInfo ) {
61  // 致命的エラー!
63  break;
64  }
65 
66  // プロセス情報を巡回する
67  DWORD dwProcessId = ::GetCurrentProcessId();
68  for ( int nIndex = 0; PROCESS_MAX > nIndex; ++nIndex ) {
69  // プロセスIDを調べる
70  if ( 0 == m_psMappingInfo->m_sProcess[ nIndex ].m_dwProcessId ) {
71  // プロセスIDを設定する
72  m_psMappingInfo->m_sProcess[ nIndex ].m_dwProcessId = dwProcessId;
73 
74  // 終了!
75  break;
76  }
77  }
78 
79  // 参照カウントをインクリメントする
81 
82  // 成功!
83  result = true;
84  } while ( false );
85  } while ( false );
86 
87  // 実行結果を調べる
88  if ( !result ) {
89  // マッピングをクローズする
91  }
92  }
#define NotifyConstructor()
コンストラクタ実行通知マクロ
Definition: LibUtility.h:24
#define NotifyFatalError()
致命的エラー発生通知マクロ
Definition: LibUtility.h:22
SProcessInfo m_sProcess[PROCESS_MAX]
参照プロセス情報構造体配列
Definition: LibNewDel.h:211
DWORD m_dwProcessId
プロセスID
Definition: LibNewDel.h:194
static int const PROCESS_MAX
最大参照プロセス数
Definition: LibNewDel.h:181
int m_nReffer
参照カウント
Definition: LibNewDel.h:207
virtual LPVOID GetView() const noexcept
ビューポインタ取得関数
Definition: CMapping.h:79
CMapping() noexcept
コンストラクタ
Definition: CMapping.cpp:29
SMappingInfo * m_psMappingInfo
共有メモリ情報構造体ポインタ
Definition: LibNewDel.h:217
static wchar_t const *const OBJECT_NAME
オブジェクト名
Definition: LibNewDel.h:223
bool m_bLogOut
ログ出力許可フラグ
Definition: LibNewDel.h:218
virtual bool Create(DWORD dwSize, wchar_t const *pszObjectName=nullptr) noexcept
作成関数
Definition: CMapping.cpp:65
virtual void Close() noexcept override
クローズ関数
Definition: CMapping.cpp:48

呼び出し関係図:

LibNewDel::CLibNewDel::~CLibNewDel ( )
protectedvirtualnoexcept

デストラクタ

デストラクタです。

引数
なし
戻り値
なし
注意
なし

LibNewDel.cpp96 行目に定義があります。

参照先 NotifyDestructor, UpdateProcessInfo().

96  {
97  // デストラクタ実行通知
99 
100  // 同期処理ブロック
101  do {
102  CSyncAuto cSyncAuto( *this );
103 
104  // プロセス情報を更新する
105  UpdateProcessInfo( true );
106  } while ( false );
107  }
#define NotifyDestructor()
デストラクタ実行通知マクロ
Definition: LibUtility.h:25
virtual bool UpdateProcessInfo(bool bCurrent=false) noexcept
プロセス情報更新関数
Definition: LibNewDel.cpp:215

呼び出し関係図:

LibNewDel::CLibNewDel::CLibNewDel ( CLibNewDel const &  )
privatedelete

関数詳解

virtual bool& LibNewDel::CLibNewDel::GetLogOutFlag ( )
inlinevirtualnoexcept

ログ出力許可状態取得関数

ログ出力許可状態取得関数です。

引数
なし
戻り値
ログ出力許可フラグ参照
注意
なし

LibNewDel.h76 行目に定義があります。

76 { return m_bLogOut; }
bool m_bLogOut
ログ出力許可フラグ
Definition: LibNewDel.h:218
void LibNewDel::CLibNewDel::NotifyOperatorNew ( void *  pAddr,
size_t  uSize,
wchar_t const *  pszFuncName 
)
virtualnoexcept

生成演算子実行通知関数

生成演算子実行通知関数です。

引数
[in]pAddrメモリアドレス
[in]uSizeメモリサイズ
[in]pszFuncName関数名
戻り値
なし
注意
なし

LibNewDel.cpp113 行目に定義があります。

参照先 LogOutOperatorNewDelete(), m_bLogOut, LibNewDel::CLibNewDel::SProcessInfo::m_dwProcessId, LibNewDel::CLibNewDel::SProcessInfo::m_nCount, LibNewDel::CLibNewDel::SMappingInfo::m_nCount, LibNewDel::CLibNewDel::SMappingInfo::m_nMaxSize, LibNewDel::CLibNewDel::SProcessInfo::m_nTotalSize, LibNewDel::CLibNewDel::SMappingInfo::m_nTotalSize, m_psMappingInfo, LibNewDel::CLibNewDel::SMappingInfo::m_sProcess, NotifyFatalError, PROCESS_MAX, UpdateProcessInfo().

113  {
114  // 同期処理ブロック
115  do {
116  CSyncAuto cSyncAuto( *this );
117 
118  // ログ出力許可フラグを調べる
119  if ( m_bLogOut ) {
120  // プロセス情報を更新する
122  }
123 
124  // 生成消滅カウントをインクリメントする
126 
127  // トータルサイズに加算する
128  m_psMappingInfo->m_nTotalSize += uSize;
129 
130  // 最大サイズを更新する
133  }
134 
135  // ログ出力する
137 
138  // プロセス情報を巡回する
139  DWORD dwProcessId = ::GetCurrentProcessId();
140  for ( int nIndex = 0;; ++nIndex ) {
141  // インデックスを調べる
142  if ( PROCESS_MAX <= nIndex ) {
143  // 致命的エラー!
145  break;
146  }
147  // プロセスIDを調べる
148  else if ( dwProcessId == m_psMappingInfo->m_sProcess[ nIndex ].m_dwProcessId ) {
149  // プロセス単位の生成消滅演算子カウントをインクリメントする
150  ++m_psMappingInfo->m_sProcess[ nIndex ].m_nCount;
151 
152  // プロセス単位の生成消滅メモリサイズに加算する
153  m_psMappingInfo->m_sProcess[ nIndex ].m_nTotalSize += uSize;
154  break;
155  }
156  }
157  } while ( false );
158  }
int m_nCount
生成消滅カウント
Definition: LibNewDel.h:208
#define NotifyFatalError()
致命的エラー発生通知マクロ
Definition: LibUtility.h:22
SProcessInfo m_sProcess[PROCESS_MAX]
参照プロセス情報構造体配列
Definition: LibNewDel.h:211
DWORD m_dwProcessId
プロセスID
Definition: LibNewDel.h:194
static int const PROCESS_MAX
最大参照プロセス数
Definition: LibNewDel.h:181
virtual void LogOutOperatorNewDelete(int nCount, void *pAddr, size_t uSize, LONGLONG nTotalSize, LONGLONG nMaxSize, wchar_t const *pszFuncName) noexcept
生成消滅演算子ログ出力関数
Definition: LibNewDel.cpp:304
virtual bool UpdateProcessInfo(bool bCurrent=false) noexcept
プロセス情報更新関数
Definition: LibNewDel.cpp:215
SMappingInfo * m_psMappingInfo
共有メモリ情報構造体ポインタ
Definition: LibNewDel.h:217
bool m_bLogOut
ログ出力許可フラグ
Definition: LibNewDel.h:218
LONGLONG m_nTotalSize
トータルメモリサイズ
Definition: LibNewDel.h:196
int m_nCount
生成消滅カウント
Definition: LibNewDel.h:195
LONGLONG m_nMaxSize
最大メモリサイズ
Definition: LibNewDel.h:210
LONGLONG m_nTotalSize
トータルメモリサイズ
Definition: LibNewDel.h:209

呼び出し関係図:

void LibNewDel::CLibNewDel::NotifyOperatorDelete ( void *  pAddr,
size_t  uSize,
wchar_t const *  pszFuncName 
)
virtualnoexcept

消滅演算子実行通知関数

消滅演算子実行通知関数です。

引数
[in]pAddrメモリアドレス
[in]uSizeメモリサイズ
[in]pszFuncName関数名
戻り値
なし
注意
なし

LibNewDel.cpp162 行目に定義があります。

参照先 LogOutOperatorNewDelete(), m_bLogOut, LibNewDel::CLibNewDel::SProcessInfo::m_dwProcessId, LibNewDel::CLibNewDel::SProcessInfo::m_nCount, LibNewDel::CLibNewDel::SMappingInfo::m_nCount, LibNewDel::CLibNewDel::SMappingInfo::m_nMaxSize, LibNewDel::CLibNewDel::SProcessInfo::m_nTotalSize, LibNewDel::CLibNewDel::SMappingInfo::m_nTotalSize, m_psMappingInfo, LibNewDel::CLibNewDel::SMappingInfo::m_sProcess, NotifyFatalError, PROCESS_MAX, UpdateProcessInfo().

162  {
163  // 同期処理ブロック
164  do {
165  CSyncAuto cSyncAuto( *this );
166 
167  // ログ出力許可フラグを調べる
168  if ( m_bLogOut ) {
169  // プロセス情報を更新する
171  }
172 
173  // トータルサイズから減算する
174  m_psMappingInfo->m_nTotalSize -= uSize;
175 
176  // ログ出力する
178 
179  // 生成消滅カウントを調べる
180  if ( 0 == m_psMappingInfo->m_nCount ) {
181  // 致命的エラー!
183  break;
184  }
185 
186  // 生成消滅カウントをデクリメントする
188 
189  // プロセス情報を巡回する
190  DWORD dwProcessId = ::GetCurrentProcessId();
191  for ( int nIndex = 0;; ++nIndex ) {
192  // インデックスを調べる
193  if ( PROCESS_MAX <= nIndex ) {
194  // 致命的エラー!
196  break;
197  }
198  // プロセスIDを調べる
199  else if ( dwProcessId == m_psMappingInfo->m_sProcess[ nIndex ].m_dwProcessId ) {
200  // プロセス単位の生成消滅演算子カウントをデクリメントする
201  --m_psMappingInfo->m_sProcess[ nIndex ].m_nCount;
202 
203  // プロセス単位の生成消滅メモリサイズから減算する
204  m_psMappingInfo->m_sProcess[ nIndex ].m_nTotalSize -= uSize;
205  break;
206  }
207  }
208  } while ( false );
209  }
int m_nCount
生成消滅カウント
Definition: LibNewDel.h:208
#define NotifyFatalError()
致命的エラー発生通知マクロ
Definition: LibUtility.h:22
SProcessInfo m_sProcess[PROCESS_MAX]
参照プロセス情報構造体配列
Definition: LibNewDel.h:211
DWORD m_dwProcessId
プロセスID
Definition: LibNewDel.h:194
static int const PROCESS_MAX
最大参照プロセス数
Definition: LibNewDel.h:181
virtual void LogOutOperatorNewDelete(int nCount, void *pAddr, size_t uSize, LONGLONG nTotalSize, LONGLONG nMaxSize, wchar_t const *pszFuncName) noexcept
生成消滅演算子ログ出力関数
Definition: LibNewDel.cpp:304
virtual bool UpdateProcessInfo(bool bCurrent=false) noexcept
プロセス情報更新関数
Definition: LibNewDel.cpp:215
SMappingInfo * m_psMappingInfo
共有メモリ情報構造体ポインタ
Definition: LibNewDel.h:217
bool m_bLogOut
ログ出力許可フラグ
Definition: LibNewDel.h:218
LONGLONG m_nTotalSize
トータルメモリサイズ
Definition: LibNewDel.h:196
int m_nCount
生成消滅カウント
Definition: LibNewDel.h:195
LONGLONG m_nMaxSize
最大メモリサイズ
Definition: LibNewDel.h:210
LONGLONG m_nTotalSize
トータルメモリサイズ
Definition: LibNewDel.h:209

呼び出し関係図:

bool LibNewDel::CLibNewDel::UpdateProcessInfo ( bool  bCurrent = false)
protectedvirtualnoexcept

プロセス情報更新関数

プロセス情報更新関数です。

引数
[in]bCurrentカレントプロセス削除フラグ
戻り値
実行結果
  • true 成功
  • false 失敗
注意
なし

LibNewDel.cpp215 行目に定義があります。

参照先 LibCommon::CProcess::Close(), LogOutNoIndent, LibNewDel::CLibNewDel::SProcessInfo::m_dwProcessId, LibNewDel::CLibNewDel::SProcessInfo::m_nCount, LibNewDel::CLibNewDel::SMappingInfo::m_nCount, LibNewDel::CLibNewDel::SMappingInfo::m_nMaxSize, LibNewDel::CLibNewDel::SMappingInfo::m_nReffer, LibNewDel::CLibNewDel::SProcessInfo::m_nTotalSize, LibNewDel::CLibNewDel::SMappingInfo::m_nTotalSize, m_psMappingInfo, LibNewDel::CLibNewDel::SMappingInfo::m_sProcess, NotifyFatalError, LibCommon::CProcess::Open(), PROCESS_MAX, LibCommon::CSync::Wait() (計15項目).

参照元 NotifyOperatorDelete(), NotifyOperatorNew(), ~CLibNewDel().

215  {
216  // 同期処理ブロック
217  bool result = false;
218  do {
219  CSyncAuto cSyncAuto( *this );
220 
221  // プロセス情報を巡回する
222  DWORD dwProcessId = ::GetCurrentProcessId();
223  for ( int nIndex = 0;; ++nIndex ) {
224  // インデックスを調べる
225  if ( PROCESS_MAX <= nIndex ) {
226  // 成功!
227  result = true;
228  break;
229  }
230  // プロセスIDを調べる
231  else if ( 0 == m_psMappingInfo->m_sProcess[ nIndex ].m_dwProcessId ) {
232  // 継続!
233  continue;
234  }
235  // プロセスIDを調べる
236  else if ( dwProcessId == m_psMappingInfo->m_sProcess[ nIndex ].m_dwProcessId ) {
237  // カレントプロセス削除フラグを調べる
238  if ( !bCurrent ) {
239  // 継続!
240  continue;
241  }
242  }
243  else {
244  // プロセスをオープンする
245  CProcess cProcess;
246  if ( cProcess.Open( m_psMappingInfo->m_sProcess[ nIndex ].m_dwProcessId ) ) {
247  // プロセス実行状態を調べる
248  if ( !cProcess.Wait( 0 ) ) {
249  // プロセスをクローズする
250  cProcess.Close();
251 
252  // 継続!
253  continue;
254  }
255 
256  // プロセスをクローズする
257  cProcess.Close();
258  }
259  }
260 
261  // 生成消滅カウントを減算する
263 
264  // トータルメモリサイズを減算する
266 
267  // 参照カウントを調べる
268  if ( 0 == m_psMappingInfo->m_nReffer ) {
269  // 致命的エラー!
271  break;
272  }
273 
274  // 参照カウントをデクリメントする
275  wchar_t const* pszMessage = L"";
276  if ( 0 == --m_psMappingInfo->m_nReffer ) {
277  // 生成消滅演算子情報更新ログを出力する
278  pszMessage = L", All Processes Termination";
279  }
280 
281  // プロセス終了生成消滅演算子ログを出力する
282  LogOutNoIndent( L"NewDel#%d, Total = %lld, Max = %lld, By Terminated Process[%04X], Count = %d, Size = %lld%s."
287  , m_psMappingInfo->m_sProcess[ nIndex ].m_nCount
289  , pszMessage );
290 
291  // プロセス情報をクリアする
293  m_psMappingInfo->m_sProcess[ nIndex ].m_nCount = 0;
294  m_psMappingInfo->m_sProcess[ nIndex ].m_nTotalSize = 0;
295  }
296  } while ( false );
297 
298  // 実行結果を返す
299  return result;
300  }
int m_nCount
生成消滅カウント
Definition: LibNewDel.h:208
#define NotifyFatalError()
致命的エラー発生通知マクロ
Definition: LibUtility.h:22
SProcessInfo m_sProcess[PROCESS_MAX]
参照プロセス情報構造体配列
Definition: LibNewDel.h:211
DWORD m_dwProcessId
プロセスID
Definition: LibNewDel.h:194
static int const PROCESS_MAX
最大参照プロセス数
Definition: LibNewDel.h:181
int m_nReffer
参照カウント
Definition: LibNewDel.h:207
SMappingInfo * m_psMappingInfo
共有メモリ情報構造体ポインタ
Definition: LibNewDel.h:217
#define LogOutNoIndent(...)
インデントなし書式設定文字列行出力マクロ
Definition: LibLogOut.h:39
LONGLONG m_nTotalSize
トータルメモリサイズ
Definition: LibNewDel.h:196
int m_nCount
生成消滅カウント
Definition: LibNewDel.h:195
LONGLONG m_nMaxSize
最大メモリサイズ
Definition: LibNewDel.h:210
LONGLONG m_nTotalSize
トータルメモリサイズ
Definition: LibNewDel.h:209

呼び出し関係図:

被呼び出し関係図:

void LibNewDel::CLibNewDel::LogOutOperatorNewDelete ( int  nCount,
void *  pAddr,
size_t  uSize,
LONGLONG  nTotalSize,
LONGLONG  nMaxSize,
wchar_t const *  pszFuncName 
)
protectedvirtualnoexcept

生成消滅演算子ログ出力関数

生成消滅演算子ログ出力関数です。

引数
[in]nCount生成消滅カウント
[in]pAddrメモリアドレス
[in]uSizeメモリサイズ
[in]nTotalSizeトータルメモリサイズ
[in]nMaxSize最大メモリサイズ
[in]pszFuncName関数名
戻り値
なし
注意
なし

LibNewDel.cpp304 行目に定義があります。

参照先 LogOutExeFile, LogOutNoIndent, m_bLogOut.

参照元 NotifyOperatorDelete(), NotifyOperatorNew().

304  {
305  // ログ出力許可フラグを調べる
306  if ( m_bLogOut ) {
307  // インデントなしでログ出力する
308  LogOutNoIndent( L"NewDel#%d, Total = %lld, Max = %lld, Addr = 0x%p, Size = %zu, By %s!%s.", nCount, nTotalSize, nMaxSize, pAddr, uSize, LogOutExeFile(), pszFuncName );
309  }
310  }
bool m_bLogOut
ログ出力許可フラグ
Definition: LibNewDel.h:218
#define LogOutNoIndent(...)
インデントなし書式設定文字列行出力マクロ
Definition: LibLogOut.h:39
#define LogOutExeFile()
実行ファイル名取得マクロ
Definition: LibLogOut.h:41

被呼び出し関係図:

static CLibNewDel& LibNewDel::CLibNewDel::GetInstance ( )
inlinestaticnoexcept

インスタンス取得関数

インスタンス取得関数です。

引数
なし
戻り値
インスタンス参照
注意
なし

LibNewDel.h151 行目に定義があります。

151 { return s_cInstance; }
static CLibNewDel s_cInstance
静的インスタンス
Definition: LibNewDel.h:228
wchar_t const * LibNewDel::CLibNewDel::GetProjectType ( )
staticnoexcept

プロジェクト種別取得関数

プロジェクト種別取得関数です。

引数
なし
戻り値
文字列ポインタ
注意
なし

LibNewDel.cpp316 行目に定義があります。

参照先 _PROJECT_TYPE.

参照元 AppTest::CAppTest::Main(), AppTest::CAppTestMenuConsole::ShowProjectInfo().

316  {
317  // プロジェクト種別文字列を返す
318  return _PROJECT_TYPE;
319  }
#define _PROJECT_TYPE
プロジェクト種別定義
Definition: LibCommonDef.h:88

被呼び出し関係図:

HINSTANCE LibNewDel::CLibNewDel::GetInstanceHandle ( )
staticnoexcept

インスタンスハンドル取得関数

インスタンスハンドル取得関数です。

引数
なし
戻り値
インスタンスハンドル
注意
なし

LibNewDel.cpp323 行目に定義があります。

参照先 OBJECT_NAME, s_cInstance.

参照元 AppTest::CAppTest::Main(), AppTest::CAppTestMenuConsole::ShowProjectInfo().

323  {
324 #if defined( _WINDLL ) && !defined( _MANAGED )
325 
326  // インスタンスハンドルを返す
327  return s_hInstance;
328 
329 # else
330 
331  // 実行モジュールのインスタンスハンドルを返す
332  return ::GetModuleHandleW( nullptr );
333 
334 # endif
335  }

被呼び出し関係図:

CLibNewDel& LibNewDel::CLibNewDel::operator= ( CLibNewDel const &  )
privatedelete

メンバ詳解

int const LibNewDel::CLibNewDel::PROCESS_MAX = 256
staticprotected

最大参照プロセス数

LibNewDel.h181 行目に定義があります。

参照元 CLibNewDel(), NotifyOperatorDelete(), NotifyOperatorNew(), UpdateProcessInfo().

SMappingInfo* LibNewDel::CLibNewDel::m_psMappingInfo
protected

共有メモリ情報構造体ポインタ

LibNewDel.h217 行目に定義があります。

参照元 CLibNewDel(), NotifyOperatorDelete(), NotifyOperatorNew(), UpdateProcessInfo().

bool LibNewDel::CLibNewDel::m_bLogOut
protected

ログ出力許可フラグ

LibNewDel.h218 行目に定義があります。

参照元 LogOutOperatorNewDelete(), NotifyOperatorDelete(), NotifyOperatorNew().

wchar_t const *const LibNewDel::CLibNewDel::OBJECT_NAME = L"LibNewDel::CLibNewDel"
staticprotected

オブジェクト名

LibNewDel.h223 行目に定義があります。

参照元 CLibNewDel(), GetInstanceHandle().

CLibNewDel LibNewDel::CLibNewDel::s_cInstance
staticprotected

静的インスタンス

LibNewDel.h228 行目に定義があります。

参照元 GetInstanceHandle().


このクラス詳解は次のファイルから抽出されました: