Freigeben über


IHostSyncManager::CreateCrstWithSpinCount-Methode

Erstellt ein kritisches Abschnittsobjekt mit Spinzähler für die Synchronisierung.

Syntax

HRESULT CreateCrstWithSpinCount (  
    [in]  DWORD dwSpinCount,  
    [out] IHostCrst** ppCrst  
);  

Parameter

dwSpinCount
[in] Gibt die Anzahl der Spinvorgänge für das Objekt des kritischen Abschnitts an.

ppCrst
[out] Ein Zeiger auf die Adresse einer IHostCrst-Instanz oder NULL, wenn der kritische Abschnitt nicht erstellt werden konnte.

Rückgabewert

HRESULT BESCHREIBUNG
S_OK CreateCrstWithSpinCount 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.
E_OUTOFMEMORY Zum Erstellen des angeforderten kritischen Abschnitts war nicht genügend Arbeitsspeicher verfügbar.

Bemerkungen

Eine Anzahl von Spinvorgängen wird nur für Mehrprozessorsysteme verwendet. Die Anzahl der Spinvorgänge gibt an, wie viele Spins für einen aufrufenden Thread erforderlich sind, bevor ein Wartevorgang für einen Semaphor ausgeführt wird, der einem nicht verfügbaren kritischen Abschnitt zugeordnet ist. Wenn der kritische Abschnitt während dem Spinvorgang frei wird, vermeidet der aufrufende Thread den Wartevorgang. CreateCrstWithSpinCount spiegelt die InitializeCriticalSectionAndSpinCount-Win32-Funktion.

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