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


Функция PcNewInterruptSync (portcls.h)

Функция PcNewInterruptSync создает и инициализирует объект синхронизации прерываний.

Синтаксис

PORTCLASSAPI NTSTATUS PcNewInterruptSync(
  [out]          PINTERRUPTSYNC    *OutInterruptSync,
  [in, optional] PUNKNOWN          OuterUnknown,
  [in]           PRESOURCELIST     ResourceList,
  [in]           ULONG             ResourceIndex,
  [in]           INTERRUPTSYNCMODE Mode
);

Параметры

[out] OutInterruptSync

Выходной указатель для объекта синхронизации прерываний, созданного этой функцией. Этот параметр указывает на переменную указателя, выделенную вызывающим объектом, в которую функция выводит ссылку на только что созданный объект IInterruptSync . Укажите допустимое значение указателя, отличное от NULL , для этого параметра.

[in, optional] OuterUnknown

Указатель на интерфейс IUnknown объекта, который должен агрегировать объект. Если агрегирование не требуется, присвойте этому параметру значение NULL.

[in] ResourceList

Указатель на объект IResourceList , предоставленный драйверу мини-порта во время инициализации. Драйвер порта проверит этот список ресурсов, но не изменит его.

[in] ResourceIndex

Указывает индекс ресурса прерывания в списке ресурсов. Если метод IResourceList::NumberOfEntriesOfType возвращает число N для типа CmResourceTypeInterrupt, ResourceIndex должно быть значением в диапазоне от 0 до N–1.

[in] Mode

Указывает способ обработки нескольких ISR. Задайте для этого параметра одно из значений перечисления INTERRUPTSYNCMODE. Дополнительные сведения см. в разделе "Примечания".

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

PcNewInterruptSync возвращает STATUS_SUCCESS, если вызов был выполнен успешно. В противном случае возвращается соответствующий код ошибки.

Комментарии

Параметру Mode присваивается одно из значений перечисления INTERRUPTSYNCMODE в следующей таблице.

Значение Значение
InterruptSyncModeNormal Вызовите каждый ISR в списке, пока один из них не вернет STATUS_SUCCESS.
InterruptSyncModeAll Вызовите каждый ISR в списке ровно один раз, независимо от кодов возврата различных ISR.
InterruptSyncModeRepeat Просмотрите весь список ISR до тех пор, пока не произойдет переход по списку, в котором не возвращается STATUS_SUCCESS.
 

Подробные описания этих трех режимов см. в разделе Объекты прерывания синхронизации.

Параметры OutInterruptSync, OuterUnknown и ResourceList следуют соглашениям о подсчете ссылок для COM-объектов.

Требования

Требование Значение
Минимальная версия клиента Доступно начиная с Windows 2000.
Целевая платформа Универсальное
Верхняя часть portcls.h (включая Portcls.h)
Библиотека Portcls.lib
IRQL PASSIVE_LEVEL

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

IInterruptSync

IResourceList

IResourceList::NumberOfEntriesOfType