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.
Bu sınıf, kritik bir bölüm nesnesinin sahipliğini almak ve serbest bırakmak için yöntemler sağlar.
Sözdizimi
class CComCriticalSection
Üyeler
Ortak Oluşturucular
| Veri Akışı Adı | Açıklama |
|---|---|
| CComCriticalSection::CComCriticalSection | Oluşturucu. |
Genel Yöntemler
| Veri Akışı Adı | Açıklama |
|---|---|
| CComCriticalSection::Init | Kritik bir bölüm nesnesi oluşturur ve başlatır. |
| CComCriticalSection::Lock | Kritik bölüm nesnesinin sahipliğini alır. |
| CComCriticalSection::Term | Kritik bölüm nesnesi tarafından kullanılan sistem kaynaklarını serbest bırakır. |
| CComCriticalSection::Unlock | Kritik bölüm nesnesinin sahipliğini serbest bırakır. |
Ortak Veri Üyeleri
| Veri Akışı Adı | Açıklama |
|---|---|
| CComCriticalSection::m_sec | CRITICAL_SECTION nesnesi. |
Açıklamalar
CComCriticalSectionCComAutoCriticalSection sınıfına benzer, ancak kritik bölümü açıkça başlatmanız ve serbest bırakmanız gerekir.
Genellikle CriticalSection adıyla typedef kullanırsınızCComCriticalSection. Bu adCComCriticalSection, CComMultiThreadModel kullanılırken başvurur.
Bu sınıfı çağırmak ve doğrudan çağırmak Lock yerine daha güvenli bir yol için bkz. CComCritSecLock Sınıfı.Unlock
Gereksinimler
Üst bilgi: atlcore.h
CComCriticalSection::CComCriticalSection
Oluşturucu.
CComCriticalSection() throw();
Açıklamalar
m_sec veri üyesini NULL olarak ayarlar.
CComCriticalSection::Init
m_sec veri üyesinde yer alan kritik bölüm nesnesini başlatan Win32 işlevi InitializeCriticalSection'ı çağırır.
HRESULT Init() throw();
Dönüş Değeri
Başarı, E_OUTOFMEMORY veya hata durumunda E_FAIL S_OK döndürür.
CComCriticalSection::Lock
İş parçacığının m_sec veri üyesinde yer alan kritik bölüm nesnesinin sahipliğini almasını bekleyen Win32 işlevi EnterCriticalSection'ı çağırır.
HRESULT Lock() throw();
Dönüş Değeri
Başarı, E_OUTOFMEMORY veya hata durumunda E_FAIL S_OK döndürür.
Açıklamalar
Kritik bölüm nesnesi ilk olarak Init yöntemine yapılan bir çağrıyla başlatılmalıdır. Korumalı kodun yürütülmesi bittiğinde, iş parçacığının kritik bölümün sahipliğini serbest bırakmak için Unlock çağrısı yapması gerekir.
CComCriticalSection::m_sec
Tüm CComCriticalSection yöntemler tarafından kullanılan kritik bir bölüm nesnesi içerir.
CRITICAL_SECTION m_sec;
CComCriticalSection::Term
m_sec veri üyesinde yer alan kritik bölüm nesnesi tarafından kullanılan tüm kaynakları serbest bırakan Win32 işlevini DeleteCriticalSection olarak çağırır.
HRESULT Term() throw();
Dönüş Değeri
S_OK döndürür.
Açıklamalar
Çağrıldıktan sonra Term kritik bölüm artık eşitleme için kullanılamaz.
CComCriticalSection::Unlock
m_sec veri üyesinde yer alan kritik bölüm nesnesinin sahipliğini serbest bırakan Win32 işlevini LeaveCriticalSection olarak çağırır.
HRESULT Unlock() throw();
Dönüş Değeri
S_OK döndürür.
Açıklamalar
İlk olarak sahipliği almak için iş parçacığının Lock yöntemini çağırması gerekir. için yapılan her çağrı Lock , kritik bölümün sahipliğini serbest bırakmak için Unlock karşılık gelen bir çağrı gerektirir.
Ayrıca bkz.
CComFakeCriticalSection Sınıfı
Sınıfa Genel Bakış
CComCritSecLock Sınıfı