Поделиться через


Метод 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.

См. также раздел