Метод IWDFInterrupt::SetPolicy (wudfddi.h)
[Предупреждение: UMDF 2 является последней версией UMDF и заменяет UMDF 1. Все новые драйверы UMDF должны быть написаны с помощью UMDF 2. Новые функции не добавляются в UMDF 1, а поддержка UMDF 1 в более новых версиях Windows 10 ограничена. Универсальные драйверы Windows должны использовать UMDF 2. Дополнительные сведения см. в разделе начало работы с помощью UMDF.]
Метод SetPolicy задает приоритет прерывания, сходство процессора и политику сходства для указанного прерывания.
Синтаксис
void SetPolicy(
[in] WDF_INTERRUPT_POLICY Policy,
[in] WDF_INTERRUPT_PRIORITY Priority,
[in] KAFFINITY TargetProcessorSet
);
Параметры
[in] Policy
Перечислитель с типом WDF_INTERRUPT_POLICY, указывающий политику сходства процессора для прерывания.
[in] Priority
Перечислитель WDF_INTERRUPT_PRIORITY, указывающий приоритет прерывания.
[in] TargetProcessorSet
Значение типа KAFFINITY, указывающее сходство процессора для прерывания, если параметр Policy имеет значение WdfIrqPolicySpecifiedProcessors.
Возвращаемое значение
None
Remarks
Начиная с Windows Vista драйверы могут указывать приоритет прерывания, сходство процессора и политику сходства. Дополнительные сведения о том, как использовать реестр для переопределения значений, заданных SetPolicy , см. в разделе Сходство прерываний и приоритет.
Если драйвер работает в версии операционной системы, более ранней, чем Windows Vista, платформа игнорирует значения, заданные драйвером при вызове SetPolicy.
Дополнительные сведения о значениях реестра и разделах INF, определяющих приоритет прерывания, сходство процессора и политику сходства, см. в разделе Сходство прерываний и приоритет.
Если драйвер вызывает SetPolicy, он должен сделать это в своей функции обратного вызова IDriverEntry::OnDeviceAdd после вызова метода IWDFDevice3::CreateInterrupt .
Дополнительные сведения об обработке прерываний в драйверах UMDF см. в разделе Доступ к оборудованию и обработка прерываний.
Примеры
В следующем примере кода прерывание устройства назначается процессору 0 с обычным приоритетом.
#define AFFINITY_MASK(n) ((ULONG_PTR)1 << (n))
pIWdfInterrupt->SetPolicy(
WdfIrqPolicySpecifiedProcessors,
WdfIrqPriorityNormal,
AFFINITY_MASK(0)
);
Требования
Требование | Значение |
---|---|
Дата окончания поддержки | Недоступно в UMDF 2.0 и более поздних версиях. |
Целевая платформа | Персональный компьютер |
Минимальная версия UMDF | 1.11 |
Верхняя часть | wudfddi.h |
DLL | WUDFx.dll |