Функция 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 |