Freigeben über


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.

Siehe auch