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


Метод IHostSyncManager::CreateCrstWithSpinCount

Создает объект критического раздела со счетчиком спинов для синхронизации.

Синтаксис

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

Параметры

dwSpinCount
[in] Указывает число спинов для объекта критического раздела.

ppCrst
[out] Указатель на адрес экземпляра IHostCrst или значение NULL, если не удалось создать критически важный раздел.

Возвращаемое значение

HRESULT Описание:
S_OK CreateCrstWithSpinCount возвращено успешно.
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 Недостаточно памяти для создания запрошенного критического раздела.

Комментарии

Счетчик спинов используется только в многопроцессорной системе. Число вращений указывает количество раз, когда вызывающий поток должен вращаться перед выполнением операции ожидания с семафора, связанного с недоступным критическим разделом. Если критически важный раздел становится свободным во время операции вращения, вызывающий поток избегает операции ожидания. CreateCrstWithSpinCount зеркально отражает функцию Win32 InitializeCriticalSectionAndSpinCount .

Требования

Платформы: см. раздел Требования к системе.

Заголовка: MSCorEE.h

Библиотека: Включается в качестве ресурса в MSCorEE.dll

версии платформа .NET Framework: доступно с версии 2.0.

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