Freigeben über


IHostSemaphore::ReleaseSemaphore-Methode

Erhöht die Anzahl der aktuellen IHostSemaphore-Instanz um den angegebenen Betrag.

Syntax

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

Parameter

lReleaseCount
[in] Der Betrag, um den die Anzahl der aktuellen IHostSemaphore-Instanz erhöht werden soll. Dieser Betrag muss größer als null sein.

lpPreviousCount
[out] Ein Zeiger auf die vorherige Anzahl oder NULL, wenn der Aufrufer die vorherige Anzahl nicht benötigt.

Rückgabewert

HRESULT BESCHREIBUNG
S_OK ReleaseSemaphore wurde erfolgreich zurückgegeben.
HOST_E_CLRNOTAVAILABLE Die Common Language Runtime (CLR) wurde nicht in einen Prozess geladen, oder die CLR befindet sich in einem Zustand, in dem sie keinen verwalteten Code ausführen oder den Aufruf nicht erfolgreich verarbeiten kann.
HOST_E_TIMEOUT Timeout des Aufrufs.
HOST_E_NOT_OWNER Der Aufrufer besitzt die Sperre nicht.
HOST_E_ABANDONED Ein Ereignis wurde abgebrochen, während ein blockierter Thread oder eine blockierte Fiber darauf gewartet hat.
E_FAIL Es ist ein unbekannter katastrophaler Fehler aufgetreten. Wenn eine Methode E_FAIL zurückgibt, kann die CLR nicht mehr innerhalb des Prozesses verwendet werden. Nachfolgende Aufrufe von Hostingmethoden geben HOST_E_CLRNOTAVAILABLE zurück.

Bemerkungen

Die CLR ruft ReleaseSemaphore in der Regel auf, um den Host darüber zu benachrichtigen, dass die Verwendung einer Ressource abgeschlossen ist. Dabei wird der Wert 1 für den lReleaseCount-Parameter übergeben.

Anforderungen

Plattformen: Informationen finden Sie unter Systemanforderungen.

Header: MSCorEE.h

Bibliothek: Als Ressource in „MsCorEE.dll“ enthalten.

.NET Framework-Versionen: Seit 2.0 verfügbar.

Siehe auch