IHostSyncManager::CreateSemaphore (Método)
Crea un objeto IHostSemaphore a fin de que Common Language Runtime (CLR) lo use como semáforo para eventos de espera.
Sintaxis
HRESULT CreateSemaphore (
[in] DWORD dwInitial,
[in] DWORD dwMax,
[out] IHostSemaphore **ppSemaphore
);
Parámetros
dwInitial
[in] Recuento inicial de ppSemaphore
.
dwMax
[in] Recuento máximo de 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 se devolvió correctamente. |
HOST_E_CLRNOTAVAILABLE | Si se devuelve este valor, significa que Common Language Runtime (CLR) no se ha cargado en un proceso o se encuentra en un estado en el que no puede ejecutar código administrado ni procesar la llamada correctamente. |
HOST_E_TIMEOUT | Se agotó el tiempo de espera de la llamada. |
HOST_E_NOT_OWNER | El autor de la llamada no es el propietario del bloqueo. |
HOST_E_ABANDONED | Se canceló un evento mientras que una fibra o subproceso que estaba bloqueado lo estaba esperando. |
E_FAIL | Ocurrió un error grave desconocido. Si un método devuelve el valor E_FAIL, el CLR ya no se podrá usar en el proceso. Las llamadas que se hagan a los métodos de hospedaje posteriormente devolverán el valor HOST_E_CLRNOTAVAILABLE. |
E_OUTOFMEMORY | Si se devuelve este valor, significa que no hubo suficiente memoria disponible para crear el objeto de evento que se solicitó. |
Comentarios
CreateSemaphore
refleja la función de Win32 que tiene el mismo nombre. Los parámetros dwInitial
y dwMax
usan la misma semántica para el recuento de semáforos que los parámetros lInitialCount
y lMaximumCount
de Win32, respectivamente. dwInitial
debe estar comprendido entre cero y dwMax
, incluidos. dwMax
debe ser mayor que cero.
Requisitos
Plataformas: Vea Requisitos de sistema.
Encabezado: MSCorEE.h
Biblioteca: incluida como recurso en MSCorEE.dll
Versiones de .NET Framework: disponible a partir de la versión 2.0