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