IHostSyncManager::CreateSemaphore-Methode
Erstellt ein IHostSemaphore-Objekt, das die Common Language Runtime (CLR) als Semaphor für Warteereignisse verwenden kann.
HRESULT CreateSemaphore (
[in] DWORD dwInitial,
[in] DWORD dwMax,
[out] IHostSemaphore **ppSemaphore
);
Parameter
dwInitial
[in] Die anfängliche Anzahl für ppSemaphore.dwMax
[in] Der maximale Anzahl für ppSemaphore.ppSemaphore
[out] Ein Zeiger auf die Adresse einer IHostSemaphore-Instanz oder NULL, wenn das Semaphor nicht erstellt werden konnte.
Rückgabewert
HRESULT |
Beschreibungen |
---|---|
S_OK |
CreateSemaphore erfolgreich zurückgegeben. |
HOST_E_CLRNOTAVAILABLE |
Die 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. |
E_OUTOFMEMORY |
Es war nicht genügend Arbeitsspeicher verfügbar, um das angeforderte Ereignisobjekt zu erstellen. |
Hinweise
CreateSemaphore spiegelt die Win32-Funktion, die über den gleichen Namen verfügt. Der dwInitial-Parameter und der dwMax-Parameter verwenden dieselbe Semantik für die Semaphoranzahl wie der Win32-lInitialCount-Parameter bzw. der Win32-lMaximumCount-Parameter. dwInitial muss zwischen null und dwMax (einschließlich) liegen. dwMax muss größer null sein.
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