Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Eine rein virtuelle Klasse, welche die Funktionalität bereitstellt, die alle Synchronisierungsobjekte in Win32 gemeinsam haben.
Syntax
class CSyncObject : public CObject
Member
Öffentliche Konstruktoren
| Name | Beschreibung |
|---|---|
| CSyncObject::CSyncObject | Erstellt ein CSyncObject-Objekt. |
Öffentliche Methoden
| Name | Beschreibung |
|---|---|
| CSyncObject::Lock | Erhält Zugriff auf das Synchronisierungsobjekt. |
| CSyncObject::Unlock | Erhält Zugriff auf das Synchronisierungsobjekt. |
Öffentliche Operatoren
| Name | Beschreibung |
|---|---|
| CSyncObject::operator HANDLE | Bietet Zugriff auf das Synchronisierungsobjekt. |
Öffentliche Datenmember
| Name | Beschreibung |
|---|---|
| CSyncObject::m_hObject | Das Handle für das zugrunde liegende Synchronisierungsobjekt. |
Hinweise
Die Microsoft Foundation-Klassenbibliothek stellt mehrere Klassen bereit, die von CSyncObject. Dies sind CEvent, CMutex, CCriticalSection und CSemaphor.
Informationen zur Verwendung der Synchronisierungsobjekte finden Sie im Artikel "Multithreading: Verwenden der Synchronisierungsklassen".
Vererbungshierarchie
CSyncObject
Anforderungen
Kopfzeile: afxmt.h
CSyncObject::CSyncObject
Erstellt ein Synchronisierungsobjekt mit dem angegebenen Namen.
explicit CSyncObject(LPCTSTR pstrName);
virtual ~CSyncObject();
Parameter
pstrName
Der Name des Objekts. Wenn NULL, ist pstrName null.
CSyncObject::Lock
Rufen Sie diese Funktion auf, um Zugriff auf die Ressource zu erhalten, die vom Synchronisierungsobjekt gesteuert wird.
virtual BOOL Lock(DWORD dwTimeout = INFINITE);
Parameter
dwTimeout
Gibt die Zeit in Millisekunden an, bis das Synchronisierungsobjekt verfügbar ist (signalisiert). Wenn INFINITE, wartet, Lock bis das Objekt vor dem Zurückgeben signalisiert wird.
Rückgabewert
Nonzero, wenn die Funktion erfolgreich war; andernfalls 0.
Hinweise
Wenn das Synchronisierungsobjekt signalisiert wird, wird es erfolgreich zurückgegeben, Lock und der Thread besitzt nun das Objekt. Wenn das Synchronisierungsobjekt nicht signalisiert ist (nicht verfügbar), Lock wartet, bis das Synchronisierungsobjekt bis zur Anzahl von Millisekunden signalisiert wird, die im dwTimeOut-Parameter angegeben ist. Wenn das Synchronisierungsobjekt in der angegebenen Zeitspanne nicht signalisiert wurde, Lock wird ein Fehler zurückgegeben.
CSyncObject::m_hObject
Das Handle für das zugrunde liegende Synchronisierungsobjekt.
HANDLE m_hObject;
CSyncObject::operator HANDLE
Verwenden Sie diesen Operator, um das Handle des CSyncObject Objekts abzurufen.
operator HANDLE() const;
Rückgabewert
Bei erfolgreicher Ausführung des Synchronisierungsobjekts; andernfalls NULL.
Hinweise
Sie können das Handle verwenden, um Windows-APIs direkt aufzurufen.
CSyncObject::Unlock
Die Deklaration ohne Unlock Parameter ist eine reine virtuelle Funktion und muss von allen Klassen außer Kraft gesetzt werden, die von CSyncObject.
virtual BOOL Unlock() = 0; virtual BOOL Unlock(
LONG lCount,
LPLONG lpPrevCount = NULL);
Parameter
lCount
Wird nicht standardmäßig von der Implementierung verwendet.
lpPrevCount
Wird nicht standardmäßig von der Implementierung verwendet.
Rückgabewert
Die Standardimplementierung gibt immer TRUE zurück.
Hinweise
Die Standardimplementierung der Deklaration mit zwei Parametern gibt immer TRUE zurück. Diese Funktion wird aufgerufen, um den Zugriff auf das Synchronisierungsobjekt freizugeben, das dem aufrufenden Thread gehört. Die zweite Deklaration wird für Synchronisierungsobjekte wie Semaphore bereitgestellt, die mehr als einen Zugriff auf eine kontrollierte Ressource ermöglichen.