Solution46
総合概要
名前空間
クラス
ファイル
ファイル一覧
ファイルメンバ
CMutex.h
[詳解]
1
//=============================================================================
2
/// @file
3
/// ミューテックスクラスヘッダファイル
4
///
5
/// ミューテックスクラスヘッダファイルです。
6
///
7
/// $Id: CMutex.h 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 once
14
#pragma managed( push, off )
15
16
//=============================================================================
17
// インクルードファイル
18
#include <
CSync.h
>
19
20
//=============================================================================
21
// 共通ライブラリ名前空間
22
namespace
LibCommon
{
23
//=========================================================================
24
/// ミューテックスクラス
25
///
26
/// ミューテックスクラスです。
27
///
28
/// @attention なし
29
///
30
class
LIB_COMMON_API
CMutex
:
public
CSync
{
31
//=====================================================================
32
// 構築子と解体子
33
public
:
34
//---------------------------------------------------------------------
35
/// コンストラクタ
36
///
37
/// コンストラクタです。
38
///
39
/// @param なし
40
/// @return なし
41
/// @attention なし
42
///
43
explicit
CMutex
() noexcept;
44
45
//---------------------------------------------------------------------
46
/// デストラクタ
47
///
48
/// デストラクタです。
49
///
50
/// @param なし
51
/// @return なし
52
/// @attention なし
53
///
54
virtual
~
CMutex
() noexcept;
55
56
//=====================================================================
57
// 公開関数
58
public
:
59
//---------------------------------------------------------------------
60
/// クローズ関数
61
///
62
/// クローズ関数です。
63
///
64
/// @param なし
65
/// @return なし
66
/// @attention オーバライド関数です。
67
///
68
virtual
void
Close() noexcept
override
;
69
70
//---------------------------------------------------------------------
71
/// リリース関数
72
///
73
/// リリース関数です。
74
///
75
/// @param なし
76
/// @return 実行結果
77
/// - true 成功
78
/// - false 失敗
79
/// @attention オーバライド関数です。
80
///
81
virtual
bool
Release() noexcept
override
;
82
83
//---------------------------------------------------------------------
84
/// ロック関数
85
///
86
/// ロック関数です。
87
///
88
/// @param[in] dwTime 待機時間
89
/// @return 実行結果
90
/// - true 成功
91
/// - false 失敗
92
/// @attention オーバライド関数です。
93
///
94
virtual
bool
Lock( DWORD dwTime = INFINITE ) noexcept
override
;
95
96
//---------------------------------------------------------------------
97
/// ロック解除関数
98
///
99
/// ロック解除関数です。
100
///
101
/// @param なし
102
/// @return 実行結果
103
/// - true 成功
104
/// - false 失敗
105
/// @attention オーバライド関数です。
106
///
107
virtual
bool
Unlock() noexcept
override
;
108
109
//---------------------------------------------------------------------
110
/// 作成関数
111
///
112
/// 作成関数です。
113
///
114
/// @param[in] pszObjectName オブジェクト名
115
/// @return 実行結果
116
/// - true 成功
117
/// - false 失敗
118
/// @attention なし
119
///
120
virtual
bool
Create(
wchar_t
const
* pszObjectName =
nullptr
) noexcept;
121
122
//---------------------------------------------------------------------
123
/// オープン関数
124
///
125
/// オープン関数です。
126
///
127
/// @param[in] pszObjectName オブジェクト名
128
/// @return 実行結果
129
/// - true 成功
130
/// - false 失敗
131
/// @attention なし
132
///
133
virtual
bool
Open(
wchar_t
const
* pszObjectName ) noexcept;
134
135
//=====================================================================
136
// 静的限定公開文字列定数
137
protected
:
138
static
wchar_t
const
*
const
OBJECT_NAME_EXT
;
///< オブジェクト名拡張子
139
140
//=====================================================================
141
// 限定公開変数
142
protected
:
143
DWORD
m_dwLockCount
;
///< ロックカウント
144
145
//=====================================================================
146
// 削除関数
147
private
:
148
CMutex
(
CMutex
const
& ) =
delete
;
149
CMutex
& operator=(
CMutex
const
& ) =
delete
;
150
};
151
}
152
153
#pragma managed( pop )
CSync.h
同期クラスヘッダファイル
LibCommon::CMutex::m_dwLockCount
DWORD m_dwLockCount
ロックカウント
Definition:
CMutex.h:143
LibCommon::CSync
同期クラス
Definition:
CSync.h:30
LibCommon
共通ライブラリ名前空間
Definition:
CArray.h:23
LibCommon::CMutex
ミューテックスクラス
Definition:
CMutex.h:30
LIB_COMMON_API
#define LIB_COMMON_API
ダイナミックライブラリインポート宣言
Definition:
LibCommonDef.h:44
LibCommon::CMutex::OBJECT_NAME_EXT
static wchar_t const *const OBJECT_NAME_EXT
オブジェクト名拡張子
Definition:
CMutex.h:138
Include
Library
LibCommon
CMutex.h
2019年03月26日(火) 13時18分11秒作成 - Solution46 / 構成:
1.8.11