IHostSyncManager::CreateSemaphore-Methode
Erstellt ein IHostSemaphore-Objekt für die Common Language Runtime (CLR), das als Semaphor für Warteereignisse verwendet wird.
Syntax
HRESULT CreateSemaphore (
[in] DWORD dwInitial,
[in] DWORD dwMax,
[out] IHostSemaphore **ppSemaphore
);
Parameter
dwInitial
[in] Die anfängliche Anzahl für ppSemaphore
.
dwMax
[in] Die maximale Anzahl für ppSemaphore
.
ppSemaphore
[out] Ein Zeiger auf die Adresse einer IHostSemaphore
-Instanz oder null, wenn der Semaphor nicht erstellt werden konnte.
Rückgabewert
HRESULT | BESCHREIBUNG |
---|---|
S_OK | CreateSemaphore wurde erfolgreich zurückgegeben. |
HOST_E_CLRNOTAVAILABLE | Die 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. |
E_OUTOFMEMORY | Zum Erstellen des angeforderten Ereignisobjekts war nicht genügend Arbeitsspeicher verfügbar. |
Bemerkungen
CreateSemaphore
spiegelt die Win32-Funktion mit demselben Namen wieder. Die Parameter dwInitial
und dwMax
verwenden die gleiche Semantik für die Semaphorenanzahl wie die Win32-Parameter lInitialCount
und lMaximumCount
. dwInitial
muss zwischen null und dwMax
liegen, einschließlich. dwMax
muss größer als null sein.
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.