Share via


CSyncObject-klasse

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

CObject

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.

Zie ook

CObject-klasse
Hiërarchiegrafiek