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


Функция 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 в следующей таблице.

Ценность Значение
ПрерываниеSyncModeNormal Вызовите каждый isR в списке, пока один из них не возвращает STATUS_SUCCESS.
ПрерываниеSyncModeAll Вызовите каждый isR в списке ровно один раз, независимо от кодов возврата различных isR.
ПрерываниеSyncModeRepeat Перемещается по всему списку ISR до тех пор, пока не будет выполняться поездка по списку, в котором нет ISR в списке возвращает STATUS_SUCCESS.
 

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

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно начиная с Windows 2000.
целевая платформа Всеобщий
заголовка portcls.h (include Portcls.h)
библиотеки Portcls.lib
IRQL PASSIVE_LEVEL

См. также

IInterruptSync

IResourceList

IResourceList::NumberOfEntriesOfType