Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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 CSyncObjecttü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 CSyncObjecttü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.