Freigeben über


IHostSyncManager::CreateCrstWithSpinCount-Methode

Erstellt ein kritisches Abschnittsobjekt mit der Anzahl an Spinvorgängen für die Synchronisierung.

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

Parameter

  • dwSpinCount
    [in] Gibt die Anzahl an Spinvorgängen für das kritische Abschnittsobjekt an.

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

Rückgabewert

HRESULT

Beschreibungen

S_OK

CreateCrstWithSpinCount erfolgreich zurückgegeben.

HOST_E_CLRNOTAVAILABLE

Die Common Language Runtime (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 den angeforderten kritischen Abschnitt zu erstellen.

Hinweise

Die Anzahl an Spinvorgängen wird nur auf auf Mehrprozessorsystemen verwendet. Sie gibt an, wie häufig ein aufrufender Thread einen Spinvorgang ausführen muss, bevor ein Wartevorgang in einem Semaphor ausgeführt wird, das einem nicht verfügbaren kritischen Abschnitt zugeordnet ist. Wenn der kritische Abschnitt während des Spinvorgangs frei wird, vermeidet der aufrufende Thread den Wartevorgang. CreateCrstWithSpinCount spiegelt die InitializeCriticalSectionAndSpinCount-Funktion von Win32.

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

Siehe auch

Referenz

ICLRSyncManager-Schnittstelle

IHostSemaphore-Schnittstelle

IHostSyncManager-Schnittstelle