Partilhar via


Método de IHostSyncManager::CreateSemaphore

Cria um IHostSemaphore o objeto para o common language runtime (CLR) usar como um semáforo de eventos de espera.

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 de ppSemaphore.

  • ppSemaphore
    [out] Um ponteiro para o endereço de um IHostSemaphore da instância ou nulo se o semáforo não pôde ser criado.

Valor de retorno

HRESULT

Descrição

S_OK

CreateSemaphoreretornado com êxito.

HOST_E_CLRNOTAVAILABLE

O CLR não foi carregado em um processo ou o CLR é em um estado em que ele não é possível executar código gerenciado ou processar a chamada com êxito.

HOST_E_TIMEOUT

A chamada foi esgotado.

HOST_E_NOT_OWNER

O chamador não possui o bloqueio.

HOST_E_ABANDONED

Um evento foi cancelado, enquanto um segmento bloqueado ou fibra estava esperando por ele.

E_FAIL

Ocorreu uma falha catastrófica desconhecida. Quando um método retorna E_FAIL, o CLR não é usável dentro do processo. As chamadas subseqüentes para hospedar os métodos retornam HOST_E_CLRNOTAVAILABLE.

E_OUTOFMEMORY

Não havia memória disponível suficiente para criar o objeto de evento solicitado.

Comentários

CreateSemaphoreespelha a função Win32 que tem o mesmo nome. O dwInitial e dwMax parâmetros de usam a mesma semântica para a contagem de semáforo como Win32 lInitialCount e lMaximumCount parâmetros, respectivamente. dwInitialdeve estar entre zero e dwMax, inclusive. dwMaxdeve ser maior que zero.

Requisitos

Plataformas: Consulte Requisitos de sistema do .NET Framework.

Cabeçalho: MSCorEE.h

Biblioteca: Incluído como um recurso em mscoree

.NET Framework versões: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Consulte também

Referência

Interface de ICLRSyncManager

Interface de IHostSemaphore

Interface de IHostSyncManager