Freigeben über


IHostSyncManager::CreateCrst-Methode

Erstellt ein kritisches Abschnittsobjekt für die Synchronisierung.

HRESULT CreateCrst (
    [out] IHostCrst** ppCrst
);

Parameter

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

Rückgabewert

HRESULT

Beschreibungen

S_OK

CreateCrst 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

Kritische Abschnittsobjekte stellen eine ähnliche Synchronisierung bereit wie ein Mutexobjekt, mit der Ausnahme, dass die kritischen Abschnitte nur von den Threads eines einzelnen Prozesses verwendet werden können. CreateCrst spiegelt die InitializeCriticalSection-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

IHostCrst-Schnittstelle

IHostSyncManager-Schnittstelle

IHostSemaphore-Schnittstelle

Konzepte

Mutexe

Semaphore und SemaphoreSlim