Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
[Применимо к KMDF и UMDF]
Метод WdfInterruptSetPolicy указывает приоритет прерывания, сходство процессора и политику сходства для указанного прерывания.
Синтаксис
void WdfInterruptSetPolicy(
[in] WDFINTERRUPT Interrupt,
[in] WDF_INTERRUPT_POLICY Policy,
[in] WDF_INTERRUPT_PRIORITY Priority,
[in] KAFFINITY TargetProcessorSet
);
Параметры
[in] Interrupt
Дескриптор объекта прерывания платформы.
[in] Policy
Перечислитель WDF_INTERRUPT_POLICYтипа, указывающий политику сопоставления процессора для прерывания.
[in] Priority
Перечислитель WDF_INTERRUPT_PRIORITYтипа, указывающий приоритет прерывания.
[in] TargetProcessorSet
Значение KAFFINITYтипа, указывающее сходство процессора для прерывания, если параметр политики имеет значение WdfIrqPolicySpecifiedProcessors.
Возвращаемое значение
Нет
Замечания
Ошибка возникает, если драйвер предоставляет недопустимый дескриптор объекта.
Windows Vista и более поздние версии операционной системы позволяют драйверам указывать приоритет прерывания, сходство процессора и политику сходства. Сведения об использовании реестра для переопределения значений, которые наборов WdfInterruptSetPoli cy, см. в разделе "Сходство прерываний и приоритет".
Если драйвер работает в версии операционной системы, которая более ранняя, чем Windows Vista, платформа игнорирует значения, заданные драйвером при вызове WdfInterruptSetPolicy.
Дополнительные сведения о значениях реестра и разделах INF, определяющих приоритет прерывания, сходство процессора и политику сходства, см. в разделе Сходство прерываний и приоритет.
Если драйвер вызывает WdfInterruptSetPolicy, он обычно делает это в своей функции обратного вызова EvtDriverDeviceAdd после вызова WdfInterruptCreate.
Если драйвер создает прерывания в EvtDevicePrepareHardware, не используйте WdfInterruptSetPolicy или WdfInterruptSetExtendedPolicy. Вместо этого примените политику в EvtDeviceFilterAddResourceRequirements, напрямую управляя требованием к ресурсу прерывания, которое эта функция обратного вызова получает в параметре IoResourceRequirementsList.
Дополнительные сведения об обработке прерываний в драйверах на основе платформы см. в обработке аппаратных прерываний.
Примеры
Следующий пример кода назначает прерывание устройства обработчику 0 с обычным приоритетом.
#define AFFINITY_MASK(n) ((ULONG_PTR)1 << (n))
WdfInterruptSetPolicy(
Interrupt,
WdfIrqPolicySpecifiedProcessors,
WdfIrqPriorityNormal,
AFFINITY_MASK(0)
);
Требования
Требование | Ценность |
---|---|
целевая платформа | универсальный |
минимальная версия KMDF | 1.0 |
минимальная версия UMDF | 2.0 |
Заголовок | wdfinterrupt.h (include Wdf.h) |
Библиотека | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | <=DISPATCH_LEVEL |
правил соответствия DDI | DriverCreate(kmdf) |