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.