Solution46
LibCommon.hpp
[詳解]
1 //=============================================================================
2 /// @file
3 /// 共通ライブラリ実装ヘッダファイル
4 ///
5 /// 共通ライブラリ実装ヘッダファイルです。
6 ///
7 /// $Id: LibCommon.hpp 245 2019-03-20 15:03:41Z admin $
8 /// $Date: 2019-03-21 00:03:41 +0900 (2019/03/21 (木)) $
9 /// $Author: admin $
10 ///
11 /// @attention なし
12 
13 #pragma managed( push, off )
14 
15 //=============================================================================
16 // インクルードファイル
17 #include <LibCommon.h>
18 #include <LibUtility.h>
19 
20 #if defined( _WINDLL ) && !defined( _MANAGED )
21 
22 //=============================================================================
23 /// 無名名前空間
24 ///
25 /// 無名名前空間です。
26 ///
27 /// @attention なし
28 ///
29 namespace {
30  //=========================================================================
31  // ローカル変数
32  HINSTANCE s_hInstance; ///< インスタンスハンドル
33 }
34 
35 //=============================================================================
36 // グローバル関数
37 //-----------------------------------------------------------------------------
38 /// DLL初期化関数
39 ///
40 /// DLL初期化関数です。
41 ///
42 /// @param[in] hInstance DLLモジュールハンドル
43 /// @param[in] dwReason 関数を呼び出す理由
44 /// @param[in] lpReserved 予約済み
45 /// @return 終了コード
46 /// @attention なし
47 ///
48 BOOL WINAPI DllMain( HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved ) {
49  // DLLメイン関数実行通知
50  NotifyDllMain( hInstance, dwReason );
51 
52  // 処理ブロック
53  BOOL result = FALSE;
54  do {
55  // 関数を呼び出す理由を調べる
56  if ( DLL_PROCESS_ATTACH == dwReason ) {
57  // インスタンスハンドルを取得する
58  s_hInstance = hInstance;
59  }
60 
61  // 成功!
62  result = TRUE;
63  } while ( false );
64 
65  // 実行結果を返す
66  return result;
67 }
68 
69 #endif
70 
71 #pragma managed( pop )
#define NotifyDllMain(...)
DLLメイン関数実行通知マクロ
Definition: LibUtility.h:23
共通ライブラリヘッダファイル
ユーティリティライブラリヘッダファイル