Compartilhar via


Método IHostSyncManager::CreateCrstWithSpinCount

Cria um objeto de seção crítica com contagem de rotação para sincronização.

Sintaxe

HRESULT CreateCrstWithSpinCount (  
    [in]  DWORD dwSpinCount,  
    [out] IHostCrst** ppCrst  
);  

Parâmetros

dwSpinCount
[in] Especifica a contagem de rotação do objeto de seção crítica.

ppCrst
[out] Um ponteiro para o endereço de uma instância IHostCrst ou nulo se não foi possível criar a seção crítica.

Valor Retornado

HRESULT Descrição
S_OK CreateCrstWithSpinCount retornado com êxito.
HOST_E_CLRNOTAVAILABLE O CLR (Common Language Runtime) não foi carregado em um processo ou está em um estado no qual não pode executar o código gerenciado ou processar a chamada com sucesso.
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 a seção crítica solicitada.

Comentários

Uma contagem de rotação é usada apenas em um sistema multiprocessador. A contagem de rotação especifica o número de vezes que um thread de chamada deve girar antes de executar uma operação de espera em um semáforo associado a uma seção crítica indisponível. Se a seção crítica ficar livre durante a operação de rotação, o thread de chamada evitará a operação de espera. CreateCrstWithSpinCount espelha a função InitializeCriticalSectionAndSpinCount do Win32.

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

Confira também