Freigeben über


IHostSemaphore::ReleaseSemaphore-Methode

Erhöht die Anzahl der aktuellen IHostSemaphore-Instanz durch die angegebene Menge.

HRESULT ReleaseSemaphore (
    [in]  LONG  lReleaseCount,
    [out] LONG  *lpPreviousCount
);

Parameter

  • lReleaseCount
    [in] Der Wert, um den die Zählung der aktuellen IHostSemaphore-Instanz erhöht werden soll. Dieser Wert muss größer als null (0) sein.

  • lpPreviousCount
    [out] Ein Zeiger auf die vorangegangene Zählung oder NULL, wenn der Aufrufer die vorangegangene Zählung nicht benötigt.

Rückgabewert

HRESULT

Beschreibungen

S_OK

ReleaseSemaphore erfolgreich zurückgegeben.

HOST_E_CLRNOTAVAILABLE

Die Common Language Runtime (CLR) wurde nicht in einen Prozess geladen oder befindet sich in einem Zustand, in dem sie weder verwalteten Code ausführen noch den Aufruf erfolgreich verarbeiten kann.

HOST_E_TIMEOUT

Der Aufruf hat das Zeitlimit überschritten.

HOST_E_NOT_OWNER

Der Aufrufer ist nicht Besitzer der Sperre.

HOST_E_ABANDONED

Ein Ereignis wurde abgebrochen, während ein blockierter Thread oder eine blockierte Fiber auf das Ereignis gewartet hat.

E_FAIL

Ein unbekannter, schwerwiegender Fehler ist aufgetreten. Wenn eine Methode E_FAIL zurückgibt, kann die CLR innerhalb des Prozesses nicht mehr verwendet werden. Nachfolgende Aufrufe von Hostmethoden geben HOST_E_CLRNOTAVAILABLE zurück.

Hinweise

Die CLR ruft normalerweise ReleaseSemaphore auf, um den Host zu benachrichtigen, dass die Verwendung einer Ressource beendet wurde, wobei für den lReleaseCount-Parameter der Wert 1 übergeben wird.

Anforderungen

Plattformen: siehe Systemanforderungen für .NET Framework.

Header: MSCorEE.h

Bibliothek: als Ressource in MSCorEE.dll enthalten

.NET Framework-Versionen: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Siehe auch

Referenz

ICLRSyncManager-Schnittstelle

IHostAutoEvent-Schnittstelle

IHostManualEvent-Schnittstelle

IHostSemaphore-Schnittstelle

IHostSyncManager-Schnittstelle