Método IHostSyncManager::CreateSemaphore
Cria um objeto IHostSemaphore para o CLR (Common Language Runtime) a ser usado 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 para ppSemaphore
.
dwMax
[in] A contagem máxima para ppSemaphore
.
ppSemaphore
[out] Um ponteiro para o endereço de uma instância IHostSemaphore
, ou nulo se o semáforo não puder ser criado.
Valor Retornado
HRESULT | Descrição |
---|---|
S_OK | CreateSemaphore retornado com êxito. |
HOST_E_CLRNOTAVAILABLE | O CLR não foi carregado em um processo, ou o CLR está em um estado no qual não pode executar código gerenciado ou processar a chamada com êxito. |
HOST_E_TIMEOUT | Uma chamada atingiu o tempo limite. |
HOST_E_NOT_OWNER | O chamador não possui o bloqueio. |
HOST_E_ABANDONED | Um evento foi cancelado enquanto uma fibra ou um thread bloqueado estava esperando por ele. |
E_FAIL | Uma falha catastrófica desconhecida ocorreu. Quando um método retorna E_FAIL, o CLR não pode mais ser usado no processo. Chamadas subsequentes para métodos de hospedagem retornam HOST_E_CLRNOTAVAILABLE. |
E_OUTOFMEMORY | Não havia memória suficiente disponível para criar o objeto de evento solicitado. |
Comentários
CreateSemaphore
espelha a função Win32 que tem o mesmo nome. Os parâmetros dwInitial
e dwMax
usam a mesma semântica para a contagem de semáforos que os parâmetros Win32 lInitialCount
e lMaximumCount
, respectivamente. dwInitial
deve estar entre zero e dwMax
, inclusive. dwMax
deve ser maior que zero.
Requisitos
Plataformas: confira Requisitos do sistema.
Cabeçalho: MSCorEE.h
Biblioteca: incluída como um recurso no MSCorEE.dll
Versões do .NET Framework: disponíveis desde 2.0