Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Opmerking
De Microsoft Foundation Classes-bibliotheek (MFC) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.
Een pure virtuele klasse die functionaliteit biedt die gemeenschappelijk is voor de synchronisatieobjecten in Win32.
Syntaxis
class CSyncObject : public CObject
Leden
Openbare constructors
| Naam | Description |
|---|---|
| CSyncObject::CSyncObject | Maakt een CSyncObject object. |
Openbare methoden
| Naam | Description |
|---|---|
| CSyncObject::Lock | Krijgt toegang tot het synchronisatieobject. |
| CSyncObject::Unlock | Krijgt toegang tot het synchronisatieobject. |
Openbare operators
| Naam | Description |
|---|---|
| CSyncObject::operator HANDLE | Biedt toegang tot het synchronisatieobject. |
Leden van openbare gegevens
| Naam | Description |
|---|---|
| CSyncObject::m_hObject | De ingang naar het onderliggende synchronisatieobject. |
Opmerkingen
De Microsoft Foundation Class Library biedt verschillende klassen die zijn afgeleid van CSyncObject. Dit zijn CEvent, CMutex, CCriticalSection en CSemaphore.
Zie het artikel Multithreading: De synchronisatieklassen gebruiken voor meer informatie over het gebruik van de synchronisatieobjecten.
Overnamehiërarchie
CSyncObject
Requirements
Koptekst: afxmt.h
CSyncObject::CSyncObject
Hiermee maakt u een synchronisatieobject met de opgegeven naam.
explicit CSyncObject(LPCTSTR pstrName);
virtual ~CSyncObject();
Parameterwaarden
pstrName
De naam van het object. Als NULL, is pstrName null.
CSyncObject::Lock
Roep deze functie aan om toegang te krijgen tot de resource die wordt beheerd door het synchronisatieobject.
virtual BOOL Lock(DWORD dwTimeout = INFINITE);
Parameterwaarden
dwTimeout
Hiermee geeft u de hoeveelheid tijd in milliseconden om te wachten tot het synchronisatieobject beschikbaar is (gesignaleerd). Als ONEINDIG, Lock wacht u totdat het object wordt gesignaleerd voordat het wordt geretourneerd.
Retourwaarde
Niet-nul als de functie is geslaagd; anders 0.
Opmerkingen
Als het synchronisatieobject wordt gesignaleerd, Lock wordt het geretourneerd en is de thread nu eigenaar van het object. Als het synchronisatieobject niet-ondertekend is (niet beschikbaar), Lock wacht u totdat het synchronisatieobject wordt gesignaleerd tot het aantal milliseconden dat is opgegeven in de parameter dwTimeOut . Als het synchronisatieobject niet is gesignaleerd in de opgegeven hoeveelheid tijd, Lock retourneert u een fout.
CSyncObject::m_hObject
De ingang naar het onderliggende synchronisatieobject.
HANDLE m_hObject;
CSyncObject::operator HANDLE
Gebruik deze operator om de ingang van het CSyncObject object op te halen.
operator HANDLE() const;
Retourwaarde
Als dit lukt, wordt de ingang van het synchronisatieobject; anders, NULL.
Opmerkingen
U kunt de ingang gebruiken om Windows-API's rechtstreeks aan te roepen.
CSyncObject::Unlock
De declaratie van Unlock zonder parameters is een pure virtuele functie en moet worden overschreven door alle klassen die zijn afgeleid van CSyncObject.
virtual BOOL Unlock() = 0; virtual BOOL Unlock(
LONG lCount,
LPLONG lpPrevCount = NULL);
Parameterwaarden
lCount
Wordt niet standaard geïmplementeerd.
lpPrevCount
Wordt niet standaard geïmplementeerd.
Retourwaarde
Standaard implementatie retourneert altijd TRUE.
Opmerkingen
De standaard implementatie van de declaratie met twee parameters retourneert altijd TRUE. Deze functie wordt aangeroepen om toegang tot het synchronisatieobject vrij te geven dat eigendom is van de aanroepende thread. De tweede declaratie wordt verstrekt voor synchronisatieobjecten, zoals semaphores die meer dan één toegang tot een gecontroleerde resource toestaan.