TNB Library
公開メンバ関数 | 全メンバ一覧
CAbstractSyncHandle クラスabstract

HANDLE型排他抽象クラス [詳解]

#include <TnbSync.h>

+ CAbstractSyncHandle の継承関係図

公開メンバ関数

virtual HANDLE GetHandle (void) const =0
 [取得] ハンドル取得 [詳解]
 
virtual bool Lock (DWORD dwTime=INFINITE) const
 [排他] ロック [詳解]
 
 operator HANDLE (void) const
 [取得] ハンドル取得 [詳解]
 
virtual void Unlock (void) const =0
 [排他] アンロック [詳解]
 

詳解

HANDLE型排他抽象クラス

ハンドルを使った排他の抽象クラスです。
GetHandle() を実装すると、 ISynchronized::Lock() も実装されます。
日付
06/10/31 新規作成

TnbSync.h66 行目に定義があります。

関数詳解

◆ GetHandle()

virtual HANDLE GetHandle ( void  ) const
pure virtual

[取得] ハンドル取得

戻り値
ハンドル

CSyncMutex, CSyncSemaphore, CSyncEvent, CSyncWaitableTimerで実装されています。

◆ Lock()

virtual bool Lock ( DWORD  dwTime = INFINITE) const
virtual

[排他] ロック

引数
dwTimeロックにトライし続けるミリ秒。省略すると無限に待ちます。
戻り値
true成功
false失敗

ISynchronizedを実装しています。

TnbSync.h91 行目に定義があります。

◆ operator HANDLE()

operator HANDLE ( void  ) const

[取得] ハンドル取得

戻り値
ハンドル

TnbSync.h80 行目に定義があります。

◆ Unlock()

virtual void Unlock ( void  ) const
pure virtualinherited

[排他] アンロック

CBitVector, CBlockLinkVectorT< TYP >, CBlockLinkVectorT< TParam >, CAbstractAdapterT< TYP >, CAbstractAdapterT< BYTE >, CConstAppendAdapterT< TYP >, COffsetAdapterT< TYP >, CConstAdapterT< TYP >, CIndexAdapterT< TYP >, CConstFileMappingT< TYP >, CConstFileMappingT< BYTE >, CConstFileMappingT< short >, CConstResourceData, CDummyCollectionT< TYP >, CDummyCollectionT< BYTE >, CReaderAdapter, CWriterAdapter, CFileMappingT< TYP >, CListT< TYP, ATT >, CListT< TNB::CListQueueT< TYP > >, CMapT< KEY, VAL, INK >::CConstKeysAdapter, CMapT< KEY, VAL, INK >::CConstValuesAdapter, CMapT< KEY, VAL, INK >, CMapT< TNB::CStrT, TNB::CSingleSetT< TNB::CStrT > >, CMapT< PROPID, CTagInfo >, CMapT< int, HICON >, CMapT< TNB::CStrT, CVectorT< BYTE > >, CMapT< CAscii, CAscii, LPCSTR >, CMapT< TNB::CStrT, TNB::CMapT, LPCTSTR >, CMapT< DWORD, TYP >, CMapT< FOURCC, TChunkMap >, CMapT< FOURCC, TNB::CStrT >, CMapT< HTREEITEM, CPointerHandleT< IDrawable > >, CMapT< COLORREF, CPointerHandleT< TPointInfo > >, CPointerVectorT< TYP >, CPointerVectorT< CCursorManager >, CPointerVectorT< TNB::CShapeFile::IRecordContent >, CPointerVectorT< TBindWork >, CPointerVectorT< TNB::MFC::CDrawingSubMenu >, CPriorityQueueT< TYP >, CRingQueueT< TYP, ISI, INV >, CRingQueueT< TYP, false, TYP >, CRingQueueT< CVectorT< BYTE >, false, CVectorT< BYTE > >, CRingQueueT< BYTE >, CRingQueueT< TParam >, CRingQueueT< CArrayPtrHandleT< TCHAR > >, CSingleSetT< TYP >, CSingleSetT< TNB::CPacketCommander::CInner::TTask * >, CSharedQueueT< TYP, SIZ >, CSyncSection, CSyncMutex, CSyncSemaphore, CSyncEvent, CSyncCounter, CSyncDummy, CSyncMetered, CSyncWaitableTimer, CVectorT< TYP >, CVectorT< TNB::CPairT< T, T > >, CVectorT< BYTE >, CVectorT< DWORD >, CVectorT< TNB::CArrayPtrHandleT< TYP > >, CVectorT< WORD >, CVectorT< TNB::CVectorT >, CVectorT< TValue >, CVectorT< TNB::CPairT >, CVectorT< CStr >, CVectorT< TNB::CArrayPtrHandleT< TParam > >, CVectorT< TCHAR >, CVectorT< TNB::CGrid::TFieldInfo >, CVectorT< HICON >, CVectorT< TNB::CMailAddress >, CVectorT< CAscii >, CVectorT< TNB::CMultiFontTextDrawer::TPart >, CVectorT< POINT >, CVectorT< TNB::CPointerHandleT< CCursorManager > >, CVectorT< TNB::CNmea0183::TGpGsv >, CVectorT< TNB::CPacketCommander::CInner::TTask * >, CVectorT< TNB::CPointerHandleT< TYP > >, CVectorT< TInfo >, CVectorT< TParam >, CVectorT< TNB::CStrT< TYP > >, CVectorT< TNB::CPointerHandleT< TNB::CShapeFile::IRecordContent > >, CVectorT< SOCKET >, CVectorT< CVectorT< BYTE > >, CVectorT< TYP * >, CVectorT< TNB::CPointerHandleT< TBindWork > >, CVectorT< CFileInfoArray >, CVectorT< TNB::CTmlDocuments::TFileInfo::TFunc >, CVectorT< TFuncInfo >, CVectorT< EKind >, CVectorT< TNB::CGrammarAnalyzerT >, CVectorT< INDEX >, CVectorT< CVaVaVector >, CVectorT< CArVaVector >, CVectorT< CTmlValue >, CVectorT< char >, CVectorT< EAttr >, CVectorT< TParam * >, CVectorT< TNB::MFC::CColorfulListBox::CColor::TParam >, CVectorT< CPointerHandleT< IDrawable > >, CVectorT< UINT >, CVectorT< CDrawersVector >, CVectorT< IDrawable::Ptr >, CVectorT< TNB::CPointerHandleT< TNB::MFC::CDrawingSubMenu > > (計105項目)で実装されています。