Aracılığıyla paylaş


CSemaphore::CSemaphore

Adlandırılmış veya adlandırılmamış bir yapıları CSemaphore nesnesi.

CSemaphore(
   LONG lInitialCount = 1,
   LONG lMaxCount = 1,
   LPCTSTR pstrName = NULL,
   LPSECURITY_ATTRIBUTES lpsaAttributes = NULL 
);

Parametreler

  • lInitialCount
    Semaforun ilk kullanım sayısı.Büyüktür veya eşittir 0 olması gerekir ve eşit veya daha az lMaxCount.

  • lMaxCount
    Semafor için en yüksek kullanım sayımı.0'dan büyük olmalıdır.

  • pstrName
    Semaforu adı.Semafor işlem sınırları boyunca erişilmesi durumunda sağlanmalıdır.NULL, Nesne adlandırılmamış olacaktır.Kurucu, adı varolan bir semafor eşleşiyorsa, yeni bir oluşturur CSemaphore , o adı semafor başvuran nesne.Yapım adı ile eşleşen bir semafor değil varolan bir eşitleme nesnesi, başarısız olur.

  • lpsaAttributes
    Semafor nesnesi için güvenlik öznitelikleri.Bu yapının tam bir açıklaması için bkz: SECURITY_ATTRIBUTES , Windows SDK.

Notlar

Erişmek veya serbest bırakmak için bir CSemaphore nesne, oluşturma bir CMultiLock veya CSingleLock nesnesi ve çağrı kendi Kilit ve Unlock üye işlevler.

Güvenlik NotuGüvenlik Notu

Oluşturduktan sonra CSemaphore nesnesini, kullanmak GetLastError zaman uyumu sağlayıcısı zaten yoktu emin olmak için.Mutex beklenmedik bir şekilde yoksa, bir yanlışlık işlemin ele geçirilmesi ve mutex kötü amaçla kullanmayı planlayan gösterebilir.Bu durumda, önerilen güvenliğe yordam, Tanıtıcı kapatılamıyor ve vardı sanki bir hata nesnesi oluşturulurken devam etmek için kullanılır.

Gereksinimler

Başlık: afxmt.h

Ayrıca bkz.

Başvuru

CSemaphore sınıfı

Hiyerarşi grafik

CMutex sınıfı

CEvent sınıfı

CMultiLock sınıfı

CSingleLock sınıfı