Compartir a través de


IHostSyncManager::CreateSemaphore (Método)

Crea un objeto IHostSemaphore para que Common Language Runtime (CLR) lo utilice como semáforo para los eventos de espera.

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

Parámetros

  • dwInitial
    [in] Recuento inicial para ppSemaphore.

  • dwMax
    [in] Número máximo para ppSemaphore.

  • ppSemaphore
    [out] Puntero a la dirección de una instancia de IHostSemaphore, o null si no se ha podido crear el semáforo.

Valor devuelto

HRESULT

Descripción

S_OK

CreateSemaphore finalizó correctamente.

HOST_E_CLRNOTAVAILABLE

CLR no se ha cargado en un proceso o está en un estado en el que no puede ejecutar el código administrado o procesar la llamada correctamente.

HOST_E_TIMEOUT

Se agotó el tiempo de espera de la llamada.

HOST_E_NOT_OWNER

El llamador no posee el bloqueo.

HOST_E_ABANDONED

Se canceló un evento mientras una fibra o un subproceso bloqueado estaba esperándole.

E_FAIL

Se ha producido un error catastrófico desconocido. Si un método devuelve E_FAIL, CLR no se puede seguir utilizando en el proceso. Las llamadas subsiguientes a métodos de hospedaje devuelven HOST_E_CLRNOTAVAILABLE.

E_OUTOFMEMORY

No había suficiente memoria disponible para crear el objeto de evento solicitado.

Comentarios

CreateSemaphore refleja la función de Win32 que tiene el mismo nombre. Los parámetros dwMax y dwInitial usan la misma semántica para el recuento del semáforo que los parámetros lMaximumCount y lInitialCount de Win32, respectivamente. dwInitial debe estar comprendido entre cero y dwMax, ambos incluidos. dwMax debe ser mayor que cero.

Requisitos

Plataformas: vea Requisitos de sistema de .NET Framework.

Encabezado: MSCorEE.h

Biblioteca: Se incluye como recurso en MsCorEE.dll

Versiones de .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Vea también

Referencia

ICLRSyncManager (Interfaz)

IHostSemaphore (Interfaz)

IHostSyncManager (Interfaz)