セマフォクラス  
 [詳解]
#include "CSemaphore.h"
|  | 
|  | CSemaphore () noexcept | 
|  | コンストラクタ  [詳解] 
 | 
|  | 
| virtual | ~CSemaphore () noexcept | 
|  | デストラクタ  [詳解] 
 | 
|  | 
| virtual bool | Release () noexcept override | 
|  | リリース関数  [詳解] 
 | 
|  | 
| virtual bool | Create (wchar_t const *pszObjectName=nullptr) noexcept | 
|  | 作成関数  [詳解] 
 | 
|  | 
| virtual bool | Create (LONG nInitial, LONG nMax, wchar_t const *pszObjectName=nullptr) noexcept | 
|  | 作成関数  [詳解] 
 | 
|  | 
| virtual bool | Open (wchar_t const *pszObjectName) noexcept | 
|  | オープン関数  [詳解] 
 | 
|  | 
| virtual bool | AddCount (long nCount, long &rnPrev) noexcept | 
|  | カウント加算関数  [詳解] 
 | 
|  | 
|  | CSync () noexcept | 
|  | コンストラクタ  [詳解] 
 | 
|  | 
| virtual | ~CSync () noexcept | 
|  | デストラクタ  [詳解] 
 | 
|  | 
| virtual HANDLE | GetHandle () const  noexcept | 
|  | オブジェクトハンドル取得関数  [詳解] 
 | 
|  | 
| virtual bool | IsCreate () const  noexcept | 
|  | 新規作成状態取得関数  [詳解] 
 | 
|  | 
| virtual void | Close () noexcept | 
|  | クローズ関数  [詳解] 
 | 
|  | 
| virtual bool | Wait (DWORD dwTime=INFINITE) noexcept | 
|  | ウェイト関数  [詳解] 
 | 
|  | 
| virtual bool | Lock (DWORD dwTime=INFINITE) noexcept | 
|  | ロック関数  [詳解] 
 | 
|  | 
| virtual bool | Unlock () noexcept | 
|  | ロック解除関数  [詳解] 
 | 
|  | 
セマフォクラス 
セマフォクラスです。
- 注意
- なし 
 CSemaphore.h の 30 行目に定義があります。
  
  | 
        
          | LibCommon::CSemaphore::CSemaphore | ( |  | ) |  |  | explicitnoexcept | 
 
 
  
  | 
        
          | virtual LibCommon::CSemaphore::~CSemaphore | ( |  | ) |  |  | inlinevirtualnoexcept | 
 
 
  
  | 
        
          | LibCommon::CSemaphore::CSemaphore | ( | CSemaphore const & |  | ) |  |  | privatedelete | 
 
 
  
  | 
        
          | bool LibCommon::CSemaphore::Release | ( |  | ) |  |  | overridevirtualnoexcept | 
 
 
  
  | 
        
          | bool LibCommon::CSemaphore::Create | ( | wchar_t const * | pszObjectName = nullptr | ) |  |  | virtualnoexcept | 
 
作成関数 
作成関数です。
- 引数
- 
  
  
- 戻り値
- 実行結果
- 注意
- なし 
 CSemaphore.cpp の 52 行目に定義があります。
   54         return Create( 1, 1, pszObjectName );
 virtual bool Create(wchar_t const *pszObjectName=nullptr) noexcept
作成関数 
 
 
  
  | 
        
          | bool LibCommon::CSemaphore::Create | ( | LONG | nInitial, |  
          |  |  | LONG | nMax, |  
          |  |  | wchar_t const * | pszObjectName = nullptr |  
          |  | ) |  |  |  | virtualnoexcept | 
 
作成関数 
作成関数です。
- 引数
- 
  
    | [in] | nInitial | 初期値 |  | [in] | nMax | 最大値 |  | [in] | pszObjectName | オブジェクト名 |  
 
- 戻り値
- 実行結果
- 注意
- なし 
 CSemaphore.cpp の 59 行目に定義があります。
参照先 LibCommon::CSync::Close(), LibCommon::CSync::m_bIsCreate, LibCommon::CSync::m_hObject, OBJECT_NAME_EXT.
   70             wchar_t szBuffer[ MAX_PATH ];
    71             if ( 
nullptr != pszObjectName ) {
    73                 ::wcscpy_s( szBuffer, pszObjectName );
    75                 pszObjectName = szBuffer;
    79             m_hObject = ::CreateSemaphoreW( 
nullptr, nInitial, nMax, pszObjectName );
    85             else if ( ERROR_ALREADY_EXISTS != ::GetLastError() ) {
 virtual void Close() noexcept
クローズ関数 
static wchar_t const *const OBJECT_NAME_EXT
オブジェクト名拡張子 
HANDLE m_hObject
オブジェクトハンドル 
 
 
  
  | 
        
          | bool LibCommon::CSemaphore::Open | ( | wchar_t const * | pszObjectName | ) |  |  | virtualnoexcept | 
 
オープン関数 
オープン関数です。
- 引数
- 
  
  
- 戻り値
- 実行結果
- 注意
- なし 
 CSemaphore.cpp の 100 行目に定義があります。
参照先 LibCommon::CSync::Close(), LibCommon::CSync::m_hObject, OBJECT_NAME_EXT.
  105             if ( 
nullptr == pszObjectName ) {
   116             wchar_t szBuffer[ MAX_PATH ];
   117             ::wcscpy_s( szBuffer, pszObjectName );
   119             pszObjectName = szBuffer;
   122             m_hObject = ::OpenSemaphoreW( SEMAPHORE_ALL_ACCESS, 
false, pszObjectName );
 virtual void Close() noexcept
クローズ関数 
static wchar_t const *const OBJECT_NAME_EXT
オブジェクト名拡張子 
HANDLE m_hObject
オブジェクトハンドル 
 
 
  
  | 
        
          | bool LibCommon::CSemaphore::AddCount | ( | long | nCount, |  
          |  |  | long & | rnPrev |  
          |  | ) |  |  |  | virtualnoexcept | 
 
 
  
  | 
        
          | wchar_t const *const LibCommon::CSemaphore::OBJECT_NAME_EXT = L".CSemaphore" |  | staticprotected | 
 
 
このクラス詳解は次のファイルから抽出されました:
- C:/Work/VisualStudio2017/Solution46/Include/Library/LibCommon/CSemaphore.h
- C:/Work/VisualStudio2017/Solution46/Source/Library/LibCommon/CSemaphore.cpp