Метод IHostSyncManager::CreateSemaphore
Создает объект IHostSemaphore для среды CLR, который будет использоваться в качестве семафора для событий ожидания.
Синтаксис
HRESULT CreateSemaphore (
[in] DWORD dwInitial,
[in] DWORD dwMax,
[out] IHostSemaphore **ppSemaphore
);
Параметры
dwInitial
[in] Начальное число для ppSemaphore
.
dwMax
[in] Максимальное число для ppSemaphore
.
ppSemaphore
[out] Указатель на адрес экземпляра IHostSemaphore
или значение NULL, если не удалось создать семафор.
Возвращаемое значение
HRESULT | Описание: |
---|---|
S_OK | CreateSemaphore возвращено успешно. |
HOST_E_CLRNOTAVAILABLE | Среда CLR не была загружена в процесс или среда CLR находится в состоянии, в котором она не может выполнить управляемый код или обработать вызов успешно. |
HOST_E_TIMEOUT | Время ожидания звонка истекло. |
HOST_E_NOT_OWNER | Вызывающий объект не владеет блокировкой. |
HOST_E_ABANDONED | Событие было отменено во время ожидания заблокированного потока или волокна. |
E_FAIL | Произошла неизвестная катастрофическая ошибка. Когда метод возвращает E_FAIL, среда CLR больше не используется в рамках процесса. Последующие вызовы методов размещения возвращают HOST_E_CLRNOTAVAILABLE. |
E_OUTOFMEMORY | Недостаточно памяти для создания запрошенного объекта события. |
Комментарии
CreateSemaphore
зеркально отражает функцию Win32 с тем же именем. Параметры dwInitial
и dwMax
используют ту же семантику для счетчика семафоров, что и параметры Win32 lInitialCount
и lMaximumCount
соответственно. dwInitial
значение должно находиться в диапазоне от нуля до dwMax
, включительно. dwMax
значение должно быть больше нуля.
Требования
Платформы: см. раздел Требования к системе.
Заголовка: MSCorEE.h
Библиотека: Включается в качестве ресурса в MSCorEE.dll
версии платформа .NET Framework: доступно с версии 2.0.