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