Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
[Применимо к 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) |