CSyncObject Sınıfı
Win32'deki eşitleme nesneleri için ortak işlevsellik sağlayan saf bir sanal sınıf.
Sözdizimi
class CSyncObject : public CObject
Üyeler
Ortak Oluşturucular
Veri Akışı Adı | Açıklama |
---|---|
CSyncObject::CSyncObject | Bir CSyncObject nesne oluşturur. |
Genel Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
CSyncObject::Lock | Eşitleme nesnesine erişim kazanır. |
CSyncObject::Unlock | Eşitleme nesnesine erişim kazanır. |
Ortak İşleçler
Veri Akışı Adı | Açıklama |
---|---|
CSyncObject::operator HANDLE | Eşitleme nesnesine erişim sağlar. |
Ortak Veri Üyeleri
Veri Akışı Adı | Açıklama |
---|---|
CSyncObject::m_hObject | Temel alınan eşitleme nesnesinin tanıtıcısı. |
Açıklamalar
Microsoft Foundation Sınıf Kitaplığı, öğesinden CSyncObject
türetilen çeşitli sınıflar sağlar. Bunlar CEvent, CMutex, CCriticalSection ve CSemaphore'dir.
Eşitleme nesnelerini kullanma hakkında bilgi için Çoklu İş Parçacığı Kullanımı: Eşitleme Sınıflarını Kullanma makalesine bakın.
Devralma Hiyerarşisi
CSyncObject
Gereksinimler
Üst bilgi: afxmt.h
CSyncObject::CSyncObject
Sağlanan ada sahip bir eşitleme nesnesi oluşturur.
explicit CSyncObject(LPCTSTR pstrName);
virtual ~CSyncObject();
Parametreler
pstrName
Nesnenin adı. NULL ise pstrName null olur.
CSyncObject::Lock
Eşitleme nesnesi tarafından denetlenen kaynağa erişim kazanmak için bu işlevi çağırın.
virtual BOOL Lock(DWORD dwTimeout = INFINITE);
Parametreler
dwTimeout
Eşitleme nesnesinin kullanılabilir olmasını beklenecek süreyi milisaniye cinsinden belirtir (sinyal görüntülenir). SONSUZ ise, Lock
geri dönmeden önce nesnenin işaretlenmesini bekler.
Dönüş Değeri
İşlev başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Eşitleme nesnesine sinyal gönderiliyorsa, Lock
başarıyla döndürülecek ve iş parçacığı artık nesneye sahip olacaktır. Eşitleme nesnesi imzalanmamışsa (kullanılamıyorsa), Lock
dwTimeOut parametresinde belirtilen milisaniye sayısına kadar eşitleme nesnesinin işaretlenmesini bekler. Eşitleme nesnesi belirtilen süre içinde sinyal verilmediyse hata Lock
döndürür.
CSyncObject::m_hObject
Temel alınan eşitleme nesnesinin tanıtıcısı.
HANDLE m_hObject;
CSyncObject::operator HANDLE
Nesnenin CSyncObject
tutamacını almak için bu işleci kullanın.
operator HANDLE() const;
Dönüş Değeri
Başarılı olursa, eşitleme nesnesinin tanıtıcısı; aksi takdirde NULL.
Açıklamalar
Windows API'lerini doğrudan çağırmak için tutamacı kullanabilirsiniz.
CSyncObject::Unlock
parametresiz bildirimi Unlock
saf bir sanal işlevdir ve 'den CSyncObject
türetilen tüm sınıflar tarafından geçersiz kılınmalıdır.
virtual BOOL Unlock() = 0; virtual BOOL Unlock(
LONG lCount,
LPLONG lpPrevCount = NULL);
Parametreler
lCount
Varsayılan uygulama tarafından kullanılmaz.
lpPrevCount
Varsayılan uygulama tarafından kullanılmaz.
Dönüş Değeri
Varsayılan uygulama her zaman TRUE döndürür.
Açıklamalar
bildiriminin iki parametreli varsayılan uygulaması her zaman TRUE döndürür. Bu işlev çağrılan iş parçacığının sahip olduğu eşitleme nesnesine erişimi serbest bırakmak için çağrılır. İkinci bildirim, denetimli bir kaynağa birden fazla erişim sağlayan semaforlar gibi eşitleme nesneleri için sağlanır.