Partilhar via


Método IHostSyncManager::CreateSemaphore

Cria um objeto IHostSemaphore para o runtime de linguagem comum (CLR) para utilizar como semáforo para eventos de espera.

Sintaxe

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

Parâmetros

dwInitial
[in] A contagem inicial de ppSemaphore.

dwMax
[in] A contagem máxima para ppSemaphore.

ppSemaphore
[fora] Um ponteiro para o endereço de uma IHostSemaphore instância ou nulo se não for possível criar o semáforo.

Devolver Valor

HRESULT Description
S_OK CreateSemaphore devolvido com êxito.
HOST_E_CLRNOTAVAILABLE O CLR não foi carregado para um processo ou o CLR está num estado em que não pode executar código gerido ou processar a chamada com êxito.
HOST_E_TIMEOUT A chamada excedeu o limite de tempo.
HOST_E_NOT_OWNER O autor da chamada não é o proprietário do bloqueio.
HOST_E_ABANDONED Um evento foi cancelado enquanto um thread ou fibra bloqueado estava à espera do mesmo.
E_FAIL Ocorreu uma falha catastrófica desconhecida. Quando um método devolve E_FAIL, o CLR já não é utilizável no processo. As chamadas subsequentes para métodos de alojamento devolvem HOST_E_CLRNOTAVAILABLE.
E_OUTOFMEMORY Não havia memória suficiente disponível para criar o objeto de evento pedido.

Observações

CreateSemaphore espelha a função Win32 que tem o mesmo nome. Os dwInitial parâmetros e dwMax utilizam a mesma semântica para a contagem de semáforos que o Win32 lInitialCount e lMaximumCount os parâmetros, respetivamente. dwInitial tem de estar entre zero e dwMax, inclusive. dwMax tem de ser maior que zero.

Requisitos

Plataformas: Veja Requisitos do Sistema.

Cabeçalho: MSCorEE.h

Biblioteca: Incluído como um recurso no MSCorEE.dll

.NET Framework Versões: Disponível desde 2.0

Ver também