Metodo IHostSyncManager::CreateSemaphore

Crea un oggetto IHostSemaphore per Common Language Runtime (CLR) da usare come semaforo per gli eventi di attesa.

Sintassi

HRESULT CreateSemaphore (  
    [in]  DWORD dwInitial,  
    [in]  DWORD dwMax,  
    [out] IHostSemaphore **ppSemaphore  
);  

Parametri

dwInitial
[in] Conteggio iniziale per ppSemaphore.

dwMax
[in] Conteggio massimo per ppSemaphore.

ppSemaphore
[out] Puntatore all'indirizzo di un'istanza IHostSemaphore o Null se non è stato possibile creare il semaforo.

Valore restituito

HRESULT Descrizione
S_OK CreateSemaphore restituito correttamente.
HOST_E_CLRNOTAVAILABLE CLR non è stato caricato in un processo oppure CLR si trova in uno stato in cui non può eseguire codice gestito o elaborare correttamente la chiamata.
HOST_E_TIMEOUT Timeout della chiamata.
HOST_E_NOT_OWNER Il chiamante non possiede il blocco.
HOST_E_ABANDONED Un evento è stato annullato durante l'attesa di un thread o di una fibra bloccata.
E_FAIL Si è verificato un errore irreversibile sconosciuto. Quando un metodo restituisce E_FAIL, CLR non è più utilizzabile all'interno del processo. Le chiamate successive ai metodi di hosting restituiscono HOST_E_CLRNOTAVAILABLE.
E_OUTOFMEMORY Memoria insufficiente per creare l'oggetto evento richiesto.

Commenti

CreateSemaphore esegue il mirror della funzione Win32 con lo stesso nome. I dwInitial parametri e dwMax usano la stessa semantica per il conteggio dei semafori rispettivamente dei parametri e lMaximumCount Win32lInitialCount. dwInitial deve essere compreso tra zero e dwMax, inclusi. dwMax deve essere maggiore di zero.

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: MSCorEE.h

Libreria: Incluso come risorsa in MSCorEE.dll

Versioni di .NET Framework: Disponibile dalla versione 2.0

Vedi anche