Метод IWDFInterrupt::SetExtendedPolicy (wudfddi.h)
[Предупреждение: UMDF 2 является последней версией UMDF и заменяет UMDF 1. Все новые драйверы UMDF должны быть написаны с помощью UMDF 2. В UMDF 1 новые функции не добавляются, а поддержка UMDF 1 в более новых версиях Windows 10 ограничена. Универсальные драйверы Windows должны использовать UMDF 2. Дополнительные сведения см. в разделе начало работы с UMDF.]
Метод SetExtendedPolicy задает приоритет прерывания, сходство процессора, политику сходства и группу процессоров для указанного прерывания.
Синтаксис
void SetExtendedPolicy(
[in] PWDF_INTERRUPT_EXTENDED_POLICY PolicyAndGroup
);
Параметры
[in] PolicyAndGroup
Указатель на структуру, выделенную вызывающим объектом WDF_INTERRUPT_EXTENDED_POLICY , которая ранее инициализирована драйвером путем вызова WDF_INTERRUPT_EXTENDED_POLICY_INIT.
Возвращаемое значение
None
Remarks
Этот метод эквивалентен WdfInterruptSetExtendedPolicy KMDF. Дополнительные сведения об этом методе см. в разделе Примечания статьи WdfInterruptSetExtendedPolicy .
Если драйвер работает в версии операционной системы, более ранней, чем Windows 7, платформа игнорирует значение, указанное драйвером для номера группы процессоров, при вызове SetExtendedPolicy.
Дополнительные сведения об обработке прерываний в драйверах UMDF см. в разделе Доступ к оборудованию и обработка прерываний.
Примеры
В следующем примере кода вызывается WDF_INTERRUPT_EXTENDED_POLICY_INIT для инициализации структуры WDF_INTERRUPT_EXTENDED_POLICY ; задает значения для политики, приоритета и целевого набора процессоров; и вызывает SetExtendedPolicy. В примере задается обычный приоритет для прерывания и назначается процессору 0 в группе процессоров 2.
IWDFInterrupt* pInterrupt;
#define AFFINITY_MASK(n) ((ULONG_PTR)1 << (n))
WDF_INTERRUPT_EXTENDED_POLICY myExtendedPolicy;
WDF_INTERRUPT_EXTENDED_POLICY_INIT(&myExtendedPolicy);
myExtendedPolicy.Policy = WdfIrqPolicySpecifiedProcessors;
myExtendedPolicy.Priority = WdfIrqPriorityNormal;
myExtendedPolicy.TargetProcessorSetAndGroup.Mask = AFFINITY_MASK(0);
myExtendedPolicy.TargetProcessorSetAndGroup.Group = 2;
pInterrupt->SetExtendedPolicy(
&myExtendedPolicy
);
Требования
Требование | Значение |
---|---|
Дата окончания поддержки | Недоступно в UMDF 2.0 и более поздних версиях. |
Целевая платформа | Персональный компьютер |
Минимальная версия UMDF | 1.11 |
Верхняя часть | wudfddi.h |
DLL | WUDFx.dll |